一、JenKins
0.准备,配置好环境
1.下载安装包
进官网,点Download下方即可下载。要下载其他版本,就点past,下载war包,然后服务器也需要对应版本jdk。
Jenkins官网:
Jenkins download and deployment
Java官网:
2.启动
把文件上传到服务器,然后解压Jdk,把Jdk的路径写到/etc/profile中,在启动Jenkins即可。
nohup java -jar jenkins1117.war --httpPort=8095 >/mnt/tools/nohup.out &
tar -zxvf jdk-17_linux-x64_bin.tar.gz
export JAVA_HOME=/mnt/jdk/jdk-17.0.9
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
nohup java -jar jenkins1117.war --httpPort=8095 >/mnt/tools/nohup.out &
进入Jenkins,查看是否启动成功。如果进不去,就看看防火墙
3.进行设置
查看密码:tail -fn 200 /mnt/tools/nohup.out
1)安装插件
2)配置变量
进入Global Tool Configuration,在里面设置JDK的位置,Maven,NodeJS的位置,只有安装了才配置。
设置JDK
设置目标服务器
4. 项目自动部署
1、创建项目
2、设置git
直接放git地址会报错,因为访问gitlab项目是要密码的,所以我们可以在下面配置拥有项目的用户的账号密码
3、拉取代码
这个设置会把git中的代码都放入用户根目录下的oldagecrm文件中
4、启动脚本
第三步把代码拉到目标服务器了,现在执行写好的部署脚本,那么后续就交给脚本了
选择Send files or execute commands over SSH after the build runs
设置执行用户根目录下的脚本。脚本的位置没要求,你也可以把脚本上传到git中,这样每次拉代码都会把脚本也拉过来,然后执行项目中的脚本。
5、测试&修正
5.Gitlab设置钩子,Webhook
Jenkins任务写好后,就可以在gitlab设置钩子,当gitlab代码更新时,调用Jenkins的任务进行项目更新部署。
实现gitlab触发Jenkins需要安装Build Authorization Token RootVersion 插件,允许匿名访问jenkins。
然后gitlab在项目设置中的webhook中,加入钩子事件,输入Jenkins触发url,就欧克了。
gitlab要使用webhook功能,需要管理员进行开启,开启后,gitlab的项目才能使用webhook功能,以下为流程: