当前位置: 首页 > wzjs >正文

做微信的网站wordpress 潜在威胁

做微信的网站,wordpress 潜在威胁,网站开发不用框架,赣州人才网官网Gitlab SSH Jenkins Pipeline方式部署 准备搞一搞简单部署SpringBoot项目的一种方式,通过Gitlabssh Jenkins Pipeline的方式,简单学习下。 环境准备 本地域名ip地址安装软件作用server01192.168.110.110Gitlab代码托管server02192.168.110.111Jenkins…

Gitlab SSH Jenkins Pipeline方式部署

准备搞一搞简单部署SpringBoot项目的一种方式,通过Gitlab+ssh +Jenkins Pipeline的方式,简单学习下。

环境准备

本地域名ip地址安装软件作用
server01192.168.110.110Gitlab代码托管
server02192.168.110.111Jenkins持续集成

虚拟机

静态IP

两台虚拟机设置了静态ip,防止老变更,设置了本地域名

静态IP,以192.168.110.111为例

sudo vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
IPADDR="192.168.110.111"
NETMASK="255.255.255.0"
GATEWAY="192.168.110.1"
DNS1="192.168.110.1"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens32"
UUID="7db205e0-c8ad-4f4a-8375-c436cbbed3cf"
DEVICE="ens32"
ONBOOT="yes"

静态地址的ip可以自己配置,但是同一网段不能出现重复的ip,网关可以自己去宿主机看下网关的地址。

# 重启一下网络配置以生效
service network restart

本地域名

192.168.110.111为例

sudo hostnamectl set-hostname server02

在宿主机设置好域名映射,windows系统在C:\Windows\System32\drivers\etc\hosts文件中

192.168.110.110 server01
192.168.110.111 server02
  • Gitlab版本:12.3.9
  • Jenkins:2.503,依赖Java17版本
  • Git:2.41.0版本,最好把Git版本拉到2.xxx以上,否则可能出现不兼容的情况,拉取代码报错

安装Gitlab

server01机器上,直接在网上找个国内镜像加速的,速度下载,清华源Gitlab-ce(el7)

这里给个在线下载的地址,可以试试,成功率不高的话去网页下载好在整到虚拟机里面

wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.9-ce.0.el7.x86_64.rpm

安装

# 安装相关依赖
yum -y install policycoreutils openssh-server openssh-clients postfix# 启动ssh服务&设置为开机启动
systemctl enable sshd && sudo systemctl start sshd# 设置postfix开机自启,并启动,postfix支持gitlab发信功能
systemctl enable postfix && systemctl start postfix# 开放ssh以及http服务,然后重新加载防火墙列表 若关闭防火墙,那么下面这三条命令不需要执行
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --reload# 开始安装命令
npm -ivh gitlab-ce-12.3.9-ce.0.el7.x86_64.rpm

做一些配置,端口80若是已经占用了,可以更改一下,同时nginx监听的端口也要更改:

vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.110.110:82'
nginx['listen_port'] = 82
# 使配置生效
gitlab-ctl reconfigure# 重启
gitlab-ctl restart# 防火墙端口
firewall-cmd --zone=public --add-port=82/tcp --permanent
firewall-cmd --reload

命令执行完毕就安装完成并且配置好了,那么可以直接通过server01:82访问了,第一次进入的时候应该需要设置新密码的,我这里已经设置过了。

在这里插入图片描述

代码准备

这个随便搞个SpringBoot的项目都可以的,来个接口就行,然后把项目上传到server01的Gitlab上。

<properties><java.version>17</java.version>
</properties>
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency>
</dependencies>

java

@RestController
public class HelloController {@RequestMapping("/hello")public String hello() {return "Hello World!";}}

Gitlab添加ssh

在这里插入图片描述

使用root用户生成公钥和私钥

ssh-keygen -t rsa

在这里插入图片描述

id_rsa:私钥文件

id_rsa.pub:公钥文件

把生成的公钥放在Gitlab中

以root账户登录->点击头像->Settings->SSH Keys,复制刚才id_rsa.pub文件的内容到这里,点击"Add Key"

在这里插入图片描述

Jenkins环境准备

安装2版本的Git

最好把Jenkins的那台服务器上的Git升级为2.xx版本,因为有过踩坑经验,但好像又有点概率性,升级之后就完全不报错了。

# 先安装源
yum install http://opensource.wandisco.com/centos/7/git/x86_64/wandisco-git-release-7-2.noarch.rpm# 安装git
yum install -y git

把项目传上来

在Gitlab中先将项目创建好…

在这里插入图片描述

安装

Jenkins的安装,可以用rpm包的方式,先到网上下载一个或者在线下载都可以,注意下啊,Java需要的版本是17,先安装好Java再来安装Jenkins,Jenkins依赖java环境,环境不兼容是安装不了滴。

# 提供一个下载的地址,下载不了的话就直接在页面上去下载装到虚拟机就行
wget https://mirrors.jenkins-ci.org/redhat/jenkins-2.503-1.1.noarch.rpm
# 安装一下
rpm -ivh jenkins-2.503-1.1.noarch.rpm

新版的Jenkins好像没有/etc/syscofig/jenkins这个文件了,启动的时候直接把这些配置文件放到systemctl管理的配置里面的,具体的配置地址如下:

vim /usr/lib/systemd/system/jenkins.service
# 用户
User=root
# 用户组
Group=root
# 改一下java的环境
Environment="JAVA_HOME=/usr/local/jdk/jdk-17.0.14"
# 改一下端口,不改也行
Environment="JENKINS_PORT=8888"
# 配置生效
systemctl daemon-reload# 重启jenkins
sudo systemctl restart jenkins

有防火墙关一下,不想关就把端口开一下。

firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload
# 启动Jenkins即可
systemctl start jenkins# 有需要设置开机自启
systemc	enable jenkins

准备

在系统中将jdk,maven,git都下载安装完毕后,在Jenkins的插件管理中把maven和git的插件下载一下,然后把maven和git的地址在Jenkins的全局工具中配置下。

在这里插入图片描述

jdk配置

在这里插入图片描述

maven配置

在这里插入图片描述

git配置

在这里插入图片描述

把ssh在Jenkins中配置一下。

在这里插入图片描述

Jenkins Pipeline

将Pipeline插件在Jenkins中安装一下。

在这里插入图片描述

创建一个Pipeline的项目

在这里插入图片描述

流水线项目灵活度比较高,比较推荐使用。

把相关的pipeline脚本完善下

pipeline {agent anystages {stage('拉取代码') {steps {checkout scmGit(branches: [[name: '*/master']], extensions: [], userRemoteConfigs: [[credentialsId: 'ssh-auth', url: 'git@192.168.110.110:root/test110.git']])}}stage('编译构建') {steps {sh 'mvn clean package'}}stage('执行部署') {steps {sh 'cp target/test-0.0.1-SNAPSHOT.jar /root/demo/demo.jar'sh 'supervisorctl restart demo'}}}
}
  • stages:代表整个流水线的所有执行阶段。通常stages只有1个,里面包含多个stage

  • stage:代表流水线中的某个阶段,可能出现n个。一般分为拉取代码,编译构建,部署等阶段

  • steps:代表一个阶段内需要执行的逻辑。steps里面是shell脚本,git拉取代码,ssh远程发布等任意内

脚本中共写了三个stage步骤,分别将拉代码,编译,部署都进行了流水线化。

我这里直接用linux中一个进程管理工具将项目给进行管理了,个人总结的经验发现:使用nohup java -jar ...的失败率太高了,总是莫名其妙卡住或者报错…

Supervisor

做一下supervisor的配置,详细配置可以参考我的博客:linux进程管理工具supervisor详细配置。

这里简单做下配置:

yum install -y epel-release 
yum install -y supervisor
vim /etc/supervisord.conf
[include] files = supervisord.d/*.conf

/etc/supervisord.d/中创建一个demo.conf的文件,然后配置如下:

[program:demo]
command=java -jar /root/demo/demo.jar
stdout_logfile=/root/demo/logfile.log
autostart=true
autorestart=false
startsecs=5
stopasgroup=true
killasgroup=true
# 启动主程序,如果已经启动了,杀掉主进程再执行这个命令
supervisord -c /etc/supervisord.conf# 开机自启动
systemctl enable supervisord
http://www.dtcms.com/wzjs/782737.html

相关文章:

  • 唐山做网站的男女一起做暖暖网站
  • 中国建设银行嵊州市支行网站龙岩搜索引擎推广
  • 团购网站制作做ppt会去什么网站找图
  • 做网站必要吗h5开发游戏
  • 网站开发 成都农村pc网站开发
  • 个人博客网站怎么建立厦门网站建设平台
  • 营销策略英文石家庄百度推广排名优化
  • 域名备案关闭网站太原建站模板大全
  • 网站版式设计深圳外贸建网站
  • 做网站一般费用多少云开发低码
  • 网站优化公司 网络服务foxplayer wordpress
  • wordpress站点很慢在线评审wordpress
  • 莆田中小企业网站制作搜狗seo软件
  • 北京住房与建设部网站首页wordpress好看的页面跳转
  • 网站建设死人接单珠海建站联系方式
  • 农产品网站建设案例wordpress中文章
  • 成都市 网站建设手机版网站如何制作软件
  • 想要注册一个公司网站怎么做哪个网站使用vue 做的
  • 想给公司做个网站怎么做wordpress 加密
  • 合肥网站建设公司芜湖酒店网站建设
  • 南京个人网站建设页面设计标准规范
  • 哈尔滨网站建设服务网络股权设计培训课程
  • 温州网站 公司不适合学编程的人
  • 网站开发vs设计报告企业邮箱查询网站
  • 知名网站网页设计特色学历网站怎么做
  • 响应式品牌网站设计中国建设企业银行登录网站
  • 生活中的科技产品有哪些网站元素优化 移动站
  • 在电脑上怎么建设网站wordpress ghostjs
  • 西安百度推广服务公司如何做好搜索引擎优化工作
  • 建设好网站为什么读取不到文件计算机软件开发需要学什么