Jenkins官网 https://www.jenkins.io/zh/doc/book/installing/
主机ip:192.168.122.30 端口:8080
在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试;或者前后端分离后,经常会修改接口,然后重新部署;这些情况都会涉及到频繁的打包部署;
手动打包常规步骤:
1.提交代码
2.问一下同组小伙伴有没有要提交的代码
3.拉取代码并打包(war包,或者jar包)
4.上传到Linux服务器
5.查看当前程序是否在运行
6.关闭当前程序
7.启动新的jar包
8.观察日志看是否启动成功
9.如果有同事说,自己还有代码没有提交......再次重复1到8的步骤!!!!!(一上午没了)
那么,有一种工具能够实现,将代码提交到git后就自动打包部署勒,答案是肯定的:Jenkins当然除了Jenkins以外,也还有其他的工具可以实现自动化部署,如Hudson等只是Jenkins相对来说,使用得更广泛。
mkdir /var/jenkins_home
docker run -u root --rm -d -p 8080:8080 -p 50000:50000 -v jenkins-data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock jenkinsci/blueocean
docker ps -a
netstat -tlnup|grep 8080
http://192.168.122.30:8080/
[root@master ~]# docker exec -it 0cc05426358c sh
/ # cat /var/jenkins_home/secrets/initialAdminPassword
记录jenkins URL
http://192.168.122.30:8080/
创建gitlab详见
https://blog.csdn.net/weixin_55609905/article/details/119979282
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub
进入“插件管理”,安装插件:GitLab、Generic Webhook Trigger、Git Parameter、Publish Over SSH,安装完插件重启系统
找到gitlab --》 Credentials --》 添加
验证
点击 Test Connection
出现Success说明验证通过
gitlab服务列表
添加名称–》服务地址URL–》添加凭据
点击测试连接
结果显示 Credentials verified for user root 成功
找到 Publish over SSH
添加服务器的账号和密码
系统管理–》凭据配置
新增凭证配置类型为Username with password
类型选择Username with password
填入gitlab 账号 密码
选择
Build when a change is pushed to GitLab. GitLab webhook URL: http://192.168.122.30:8080/project/myweb
记录地址
http://192.168.122.30:8080/project/myweb
点击高级
点击Generate
生成 Secret token
877eefe539ec1367338767fb65d24db9
选择 Send files or execute command over SSH
选择对应服务器地址
填写 Sourec files /
填写 Exec command
出现报错
Urlis blocked: Requests to the local network are not allowed
管理区域–》设置–》外发请求–》展开–》勾选允许钩子和服务访问本地网络–》保存修改
添加之前的jenkins URL地址 和生成 Secret token 密码
取消 勾选ssl证书验证
点击 添加web钩子
Test--》Push events
Hook executed successfully: HTTP 200
成功
git commit -m "init"
git status
git config --global user.name "lp"
git config --global user.email "[email protected]"
git config --global core.editor vim
git remote add origin git@192.168.122.50:root/myweb.git
git remote show origin
git branch jenkins
git checkout jenkins
echo 'new line
' >> index.html
git add .
git commit -m "init"
git push origin jenkins
测试成功
Started by GitLab push by 咕咕