茶网站开发的意义目的,网站建设公司没落,wordpress网站描述插件,深圳龙华街道三联社区关于GitLab安装:GitLab安装-CSDN博客
Docker中安装GitLab:Docker下安装GitLab-CSDN博客 安装JenKins
Jenkins官网:Jenkins
中文版:Jenkins 安装时候中文页面的war包下不来 在英文页面 记得装JDK8以上 JenKins使用java写的 运行JenKins需要JDK环境
我这里已经装好了 将下…关于GitLab安装:GitLab安装-CSDN博客
Docker中安装GitLab:Docker下安装GitLab-CSDN博客 安装JenKins
Jenkins官网:Jenkins
中文版:Jenkins 安装时候中文页面的war包下不来 在英文页面 记得装JDK8以上 JenKins使用java写的 运行JenKins需要JDK环境
我这里已经装好了 将下载好的Jenkins war包上传到服务器 进入war包所在目录 cd /usr/local/develop 运行Jenkins(java -jar jenkins.war -httpPort8090)这样指定端口运行 Jenkins 默认运行在端口号 8080 这样启动无法关闭后台 可以用nohup(nohup java -jar jenkins2.war )
java -jar jenkins.war 这里显示该版本需要JDK11 刚才下的是2.426.3 下载个老版本的 进入war包所在目录 运行 这样启动无法关闭后台 可以用nohup(nohup java -jar jenkins2.war ) java -jar jenkins2.war 又报错 还是JDK问题 重新再下个 2.346.2 大概10秒 下次安装可以选择插件安装 注意 这里不要选推荐安装 一大堆问题 注意 这里不要选推荐安装 一大堆问题 看了下服务器 一大堆报错 注意 这里不要选推荐安装 一大堆问题 报错就是因为选择了安装推荐的插件 是Jenkins版本问题 要安装的插件要求更高版本 先继续吧 Jenkins用来做自动化构建 每一个任务叫一个Item Jenkins就是从Git上把代码拉下来 然后通过maven构建
那么还需要安装Maven Maven官网
Maven – Welcome to Apache Maven 进入目录
cd /usr/local/develop 解压
tar zxvf apache-maven-3.9.6-bin.tar.gz 移动文件 像移就移 不想就放着
mv apache-maven-3.9.6 /usr/local/maven
测试Maven构建
/usr/local/maven/bin/mvn
说明没问题 查看环境变量
/usr/local/maven/bin/mvn -v 这样maven就好了 根据提示很多插件都需要2.361.4版本 继续换版本 关掉原来的Jenkins
ps -ef|grep java 试了很多 都需要JDK8以上
随便先玩着吧 nohup java -jar jenkins6.war 需要安装一个插件 用于使用Maven来构建项目 下次安装可以选择插件安装 往下拉 。。。。。。。。。。。。 2022年7月2日起jenkins新版本不再支持java8仅支持java11和java17。 看样子 它要求 Jenkins 版本为 2.361.4 或更高。 想着还是额外再装个JDK17
cd /usr/local/develop
在线下载JDK17
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz cd /usr/local/develop
解压
tar -zxf jdk-17_linux-x64_bin.tar.gz 暂时就切换环境变量来切换JDK吧
配置环境变量
vim /etc/profile 刷新
source /etc/profile
断开shell 由于缓存原因可能 java -version 还是显示1.8 再切换到1.8试试 暂时就用这种笨方法试试吧 下载最新版的JenKins 把JDK换成17 直接下载最新版本 继续刚才的操作 因为刚才是 java -jar的方式启动
关闭Jenkins 后台启动
直接ALTC就可以关闭 nohup java -jar jenkins2.426.3.war 去Jenkins配置Maven 点击新建Item 选择一个在自己代码仓库的项目 这个原因是服务器没有装git 安装Git
yum install git 试下git 刷新下页面 指定启动端口 上面两个随手做个笔记 firstDevops 不过这只是构建了jar包 就是Jenkins通过 maven自动构建编译了jar 下面把jar包丢到测试服务器上 先安装一个插件 Publish Over SSH 安装完成后 添加一台测试服务器 目标服务器上的文件夹最好提前建好 保存之后已经在部署了 nohup java -jar /root/xxoo/devops-0.0.1-SNAPSHOT.jar /root/xxoo/server.log 21
nohup java -jar /root/xxoo/devops*.jar /root/xxoo/server.log 21 可以用通配符
nohup /usr/local/develop/jdk1.8.0_191/bin/java -jar /root/xxoo/devops-0.0.1-SNAPSHOT.jar /root/xxoo/server.log 21 设置SSH Publishers超时机制 在目标服务器上写个脚本
vim x.sh ./x.sh 执行之后 删除xxx.txt文件 尝试用Jenkins以命令的方式传过来是否可以用
rm -rf xxx.txt 这里也可以向目标服务器发送命令
在这里可以比如说kill 目标服务器上某个进程 或者执行某个脚本 目标服务器里又有了 xxx.txt 说明 脚本执行成功 那么我们可以在目标服务器写脚本 由Jenkins来执行 编写脚本
vim x.sh 保存后可以试下 还存在一个问题就是 如果jar包没有运行 会报错 那就添加一个判断 其实这里源目录不应该删掉 把日志全删了 这里只是单纯使用下 具体以后要做优化
kill -9是直接杀死
kill -15 优雅点死 反正是死 早死晚死 提交更新代码 像上面这样 还是需要手动去构建 要去JenKins的Item任务里点一下才去构建部署
但一般也不建议使用,比如在测试时候,一个功能点的开发还没全部完成,git一提交就自动部署,一般是不建议的
用不用是你的事,但你得会
原理就是GitLab用钩子自动触发Jenkins自动构建
先看下面这个 就是说你在浏览器里 输入
http://JenKinsIP或者域名:8080/me/my-views/view/all/job/firstDevops/build?token123456
或者
http://JenKinsIP或者域名:8080/buildWithParameters?tokenTOKEN_NAME Jenkins就自动构建部署了 那么让GitLab钩子去自动调用就好了
但是存在一个问题
在自己同一个浏览器,是可以的原因是你已经登录了
但是你用psotMan或者换成其他浏览器就不行了
会要求你先登录 解决办法:
Jenkins先下载一个插件
Build Authorization Token Root 这个插件的作用就是触发远程校验之后 用它的方式做构建触发 不用再登录了
buildByToken/build?jobfirstDevopstoken123456
那么job就是Item任务名字
token就是我们设置的Item的校验 现在用postMan 可以看到 已经在构建部署了 那么就把这个URL地址 让GitLab钩子调用就好了
产生时间之后 让GitLab调用URL 让JenKins构建部署 SSL加上也没事 有些GitLab版本不同 上面可能添加不上
设置下网络 即可 可以点击测试看看JenKins有没有构建部署 测试下
提交代码后 会不会自动构建部署 有好几种构建部署触发器 下面说下定时构建
JenKins cron表达式和标准的cron表达式是有一定区别的 自己查 这边我自己已经测试过了 就是每隔2分钟会去GitLab上拉代码进行构建部署(注意分支 确定是你JenKins上配置的) 一般不会这么做,要做也比如说每天晚上12点 或者说 某几天的晚上12点 这个我就取消掉了 一般不会 Poll SCM触发构建 和上面定时差不多 Jenkins会定时轮询Gitlab上的代码 (注意你配置的分支) 测试通过
我自己测试方式很简单 提交代码到Gitlab 注意测试时候把远程触发关闭