上一篇:Docker安装Gitlab-ruuner_素心如月桠的博客-CSDN博客https://blog.csdn.net/m0_47010003/article/details/127997515
总结:
上一篇中操作到:
📌安装了gitlab-runner,在gitlab中创建一个项目(testci),
并且使用docker exec -it gitlab-runner gitlab-runner register命令将gitlab-runner注册到gitlab中,
在新建的项目testci中,点击设置,选择CI/CD,找到Runner点击展开,可以看到我们的正在运行的runner。
把runner修改成可以运行没有标签的作业
接下来:
我们打包并上传一个项目到gitlab(也就是刚刚创建的testci)中,并进行持续集成
第一步:
先新建一个项目:使用IntelliJ IDEA创建Maven项目并上传项目至gitlab等远程仓库_素心如月桠的博客-CSDN博客
上面新建项目,并且第一次commit,push到gitlab中,我们在GitLab上testci项目中就可以看到刚刚push的项目了
第二步:
编写.gitlab-ci.yml文件(注意前面有个“.”)
选择设置——>CI/CD——>Auto DevOps——>点击展开,可以看到提示
回到idea中,在当前项目路径下右键新建.gitlab-ci.yml文件。
在.gitlab-ci.yml文件中输入如下内容:
在- echo后面输入什么在gitlab上面运行就会输出什么
添加完.gitlab-ci.yml文件后再次commit,push
push成功:
进入GitLab中,查看
发现已经推送成功!
点击CI/CD——>选择流水线
进入流水线中,可以看到自动帮我们测试运行了。 发现报错
点击已失败
点击作业,查看报错信息
回到idea中
修改以后重新提交并push
又报错:
Preparing the "shell" executor
Using Shell executor...
Preparing environment
Running on b39d63329796...
Getting source from Git repository
Fetching changes...
Reinitialized existing Git repository in /home/gitlab-runner/builds/b3842d37/0/myfirstGroup/testci/.git/
fatal: unable to access 'http://192.168.199.110/myfirstGroup/testci.git/': Failed to connect to 192.168.199.110 port 80: Connection refused
ERROR: Job failed: exit status 1
把防火墙关了
systemctl stop firewelld
接下来按如下操作:
https://blog.csdn.net/m0_47010003/article/details/128222023https://blog.csdn.net/m0_47010003/article/details/128222023
运行结果中如上图, 最后2行可以看到我们在.gitlab-ci.yml文件的- echo后面输入的first test ci被打印
思考:
输出first test ci这行代码实际执行位置?
我们运行了gitlab-runner容器,所以实际执行位置应该在容器中
docker ps查看一下gitlab-runner的容器ID
然后执行docker exec -it 82 bash命令,进入入容器终端并且保留为容器终端的输入形式
如上图所示,回车进入容器终端后,cd 切换到home目录下
接着ls查看,并cd进入第一个目录,如下步骤:循环ls和cd操作直到进入刚刚创建的testci项目中
cd进入testci中,刚刚的在gitlab中输出的first test ci就是在这里执行的,我们可以在testci命令下看到项目的src目录和pom.xml文件
我们在当前路径下输入命令mvn -v查看maven的版本号
我们在idea中执行mvn命令,例如打包,直接输入mvn -就行,但是如果在.gitlab.yml文件中编写,再push通过gitlab执行,在gitlab上面执行的命令,例如上面输出:- echo first test ci。
我们想执行mvn命令,不然直接写mvn 还需要指定全路径