目录
1、打开后台地址(jenkins默认端口8080,ip自行替换成自己外网的ip)
linux命令关闭跨站请求伪造保护,修改jenkins的配置文件
9、配置gitlab,当触发提交代码,则出道jenkins,进行拉取分支,打包,上传远程服务器,启动
主要流程:从git服务器检出项目 ——》maven打包 ——》上传远程服务器 ——》执行sh命令启动项目
1、安装jdk,要记住安装路径
2、安装maven,要记住安装路径
3、安装git,要记住安装路径
4、安装gitlab
5、安装jenkins(centos7)
创建安装目录
sudo mkdir -p /opt/jenkins && cd /opt/jenkins
下载通用war包
sudo wget --no-check-certificate -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install epel-release # 提供“daemonize”的存储库
yum install jenkins
启动和关闭Jenkins
sudo service jenkins start
sudo service jenkins stop
开放端口,并重启防火墙:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
进入Jenkins后台
1、打开后台地址(jenkins默认端口8080,ip自行替换成自己外网的ip)
http://127.0.0.1:8080
2、查看密码,初始化进入
cat /var/lib/jenkins/secrets/initialAdminPassword
3.安装插件 选择第一个默认插件即可
说明:在安装插件的时候,有时候会安装很多失败的插件,这时候只能找百度解决了,我自己一步安装成功了所有插件。
4.设置管理员
5. 安装完成成功进入首页
6、配置jenkins
进入系统管理——》全局工具配置
配置jdk安装路径
配置maven安装路径
配置git
注意:通过如下命令查看git安装路径:
which git
/usr/bin/git
进入系统管理——》插件管理
安装Maven Integration
注意:是在可选插件tab栏搜索这个插件安装
安装Publish Over SSH插件
然后跟着操作提示安装然后重启jenkins ,在安装界面处,可以直接重启
进入系统管理——》系统配置
配置环境变量
配置SSH服务器地址
注意:密码配置在高级里面,打钩密码效验,输入服务器密码即可
进入系统管理——》全局安全配置
勾选匿名用户具有可读权限,保存
linux命令关闭跨站请求伪造保护,修改jenkins的配置文件
vim /etc/sysconfig/jenkins
JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true"
配置后重启jenkins。 service jenkins restart (一定要重启)
重启后进入系统管理——》全局安全配置,显示如下图,说明配置成功
这下就把所需要的配置都配置完啦!!!
7、新建任务
输入名字,选择第一个选项,构建自由风格的软件项目
然后进入如下页面,直接跳过General选项,进入源码管理,添加git地址
配置源码管理
ID随意。
配置构建环境
配置构建
注意:这里选择执行shell命令,其实就是maven打包命令
#!/bin/bash -il
#进入文件根目录
#cd "$WORKSPACE"
#项目打包
mvn clean install package '-Dmaven.test.skip=true'
注意开头要加#!/bin/bash -il,否则一直提升mvn 命令不成功。
配置构建后操作
上面的执行命令,是把这个jar上传到指定的服务器后,执行的命令,如启动jar服务。
命令如下:
#!/bin/bash
netstat -anp|grep 8811|awk '{printf $7}'|cut -d/ -f1 |xargs kill -9 || true
nohup java -jar /var/data/demo-0.0.1-SNAPSHOT.jar > /var/data/log.log 2>&1 &
注意:前面需要加上#!/bin/bash ,不然执行不成功,我自己弄了很多次。
如上命令,其实就是一个先关闭进程,在重新启动jar项目。需要改8811,和/var/data/demo-0.0.1-SNAPSHOT.jar 还有/var/data/log.log。配置成自己即可。
赋值上传到指定路径权限:
chmod 777 /var/data
最后记得给8811开放端口:
sudo firewall-cmd --permanent --add-port=8811/tcp
firewall-cmd --reload
8、获取API token
点击用户名(admin)——》选择设置——》添加token ,输入用户名生成token,需要记录token,git回调需要用户token.
9、配置gitlab,当触发提交代码,则出道jenkins,进行拉取分支,打包,上传远程服务器,启动
Secret token,就是第七步获取的token。