jenkins实现全、半自动化部署全
1、linux环境准备
1、需要一台腾讯云服务器,开放防火墙规则
2、下载jdk1.8
下载完毕放于/usr/java目录下
#解压tar包
tar -zxvf jdk-8u161-linux-x64.tar.gz
#配置环境变量
vim /etc/profile
#保存配置
source /etc/profile
#检查jdk版本
java -version
3、下载maven
下载完毕放于/root目录下
#解压tar包
tar -zxvf apache-maven-3.6.3-bin.tar.gz
#配置环境变量
vim /etc/profile
#保存配置
source /etc/profile
#检查mvn版本
mvn -version
4、下载git
下载完毕以后放于/root目录
#安装依赖
yum -y install zlib-devel openssl-devel cpio expat-devel gettext-devel curl-devel perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
#解压
unzip v2.14.1.zip
#
cd git-2.14.1/
#将git安装到/usr/local/git
make prefix=/usr/local/bin all
make prefix=/usr/local/bin install
#检查git版本
git --version
如果无法获取git版本。请重新关闭xshell再打开服务器
5、下载tomcat8.5(不要使用docker下载,前期爽,后期虐)
下载完毕后放于/usr/local目录下
#解压
tar -zxvf apache-tomcat-8.5.75.tar.gz
#修改端口
cd apache-tomcat-8.5.75/conf
vim server.xml
修改为8090
####设置tomcat服务管理账号密码(重点)
vim tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<user username="ljs" password="123456" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui"/>
#找到context.xml
vim context.xml
这一段value注释掉
#启动tomcat
sudo service tomcat start
或者./startup.sh
访问服务器ip+8090端口可看到tomcat首页
点击manager App,输入刚才配置的账号密码,ljs 123456
能看到这个页面代表配置成功
6、下载jenkins
下载完毕后放于/root
#在同级目录下创建一个txt文件,名字随意
#守护进程运行jenkins
nohup java -jar jenkins.war --httpPort=8081 >./temp.txt 2>&1 &
直接浏览器:服务器ip+8081访问,刚开始有点慢。jenkins初始化状态。然后进入这个界面
填写初始密码激活系统(这是win的,按照你显示的路径找到密码)
用户名:ljs
密码:123456
全名:帅哥线程撕裂者
设置完毕后进入这样的界面
2、jenkins配置
1、linux无需设置ssh。因为自带ssh
2、Configure Global Security (全局安全配置)
点击保存
3、Global Tool Configuration (全局工具配置 )
4、配置必要插件
Deploy to container Plugin
再安装gitee插件
3、自动化项目构建,打包,部署
1、创建一个工程
2、general
3、源码管理
4、构建触发器
webhook密码就是点击这里生成的
5、构建环境不用设置
6、构建
7、构建后操作
全部设置完毕,点击保存
8、idea创建一个快速web项目或者直接git拉我的代码
https://gitee.com/liang_jian_song/test-jenkinsweb.git
develop分支
在pom.xml文件里添加(我的已经添加好了)
<!--添加tomcat远程用户名和密码-->
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.9</version>
<configuration>
<container>
<!-- 容器版本名称-->
<containerId>Tomcat 9.x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<!-- tomcat管理界面-->
<cargo.remote.uri>http://xx:8090/manager/html</cargo.remote.uri>
<!-- tomcat管理界面用户名和密码-->
<cargo.remote.username>ljs</cargo.remote.username>
<cargo.remote.password>123456</cargo.remote.password>
</properties>
</configuration>
</configuration>
</plugin>
编写homePage.html文件。
将项目push到develop分支。
半自动化部署:点击jenkins立即构建,将会把war包推送到tomcat的webapp下自动解压。此时访问服务器+8090+webapp(刚jenkins配置的项目名)就可以访问项目了
可以看到已经部署上去了
页面访问成功
9、全自动化部署
回到码云,点击管理
我这里是修改。你那里是新增
url填写刚才jenkins中配置的一定填写的地址
webhook密码一定填写刚才jenkins中配置的,否则不能通过
然后保存,点击接口测试,出现200代表整个配置配置成功
现在修改本地代码
直接push到develop分支,什么都不用管,jenkins会回调gitee。帮我们构建,打包,部署
可以看到jenkins自己在跑任务
再访问页面发现,代码已更新