05-DevOps-Jenkins自动拉取构建代码
新建Gitlab仓库
先在Gitab上创建一个代码仓库,选择创建空白项目
安装说明进行填写,然后点击创建项目
创建好的仓库是空的,什么都没有
新建一个springboot项目,用于代码上传使用。
只是为了测试代码上传功能,所以代码很简单,写一个控制器类,然后返回一个字符串。
代码编写完成,使用Git完成代码的提交。
选中项目文件夹,右键,选择Git,然后选择提交文件夹,如下图:
把显示模式改为文件夹显示
选中src文件夹中的内容和pom.xml文件,点击提交
到这里为止,把代码提交到了本地的仓库中,现在需要把代码上传到远程仓库(前面已经搭建好的GitLab)
下面开始向远程仓库进行代码的提交
配置远程仓库地址
输入远程仓库的地址URL
配置好远程仓库地址后,点击push
输入Gitlab的用户名和密码
用户名:root
密码:12345678@ (密码是在创建Gitlab时自己设置的)
等待片刻,idea右下角会显示已经将代码提交到远程仓库。
打开Gitlab的项目页面,切换到master分支
就可以看到刚才提交的代码
到此,完成了Gitlab新仓库的创建及代码提交到Gitlab仓库中。
使用Jenkins完成代码的自动拉取
在Jenkins中新建一个任务
自己定义一个名称(不需要与Gitlab完全一致),选择自由风格。
配置完成,点击应用,保存。
回到Jenkins首页,就可以看到刚才创建的任务。
点击任务名称,进入到任务中,选择构建任务
构建过程中,左下角会显示构建的进度条
构建完成
点击这条记录,选择控制台输出,就能看到具体的执行过程。
验证下Jenkins是否真正的拉取到了文件,进入Jenkins所在的服务器(192.168.1.10),找到/var/jenkins/workspace目录,看里面是否有Jenkins创建的工程文件夹(myproject-ci)
进入到工程文件夹里面,看是否有上传的代码文件
到此,Jenkins已经成功拉取到了Gitlab仓库中的代码文件。
说明:这里为什么能够在宿主机上(而不是Jenkins容器内部)看到Jenkins工程,是因为前面已经将/var/jenkins 目录挂载到Jenkins容器内部了。Jenkins操作的实际就是宿主机上文件。
Jenkins就是把原来人工要操作的命令,现在由Jenkins帮助我们自动构建。
在Jenkins中对代码进行编译
前面只是把源代码拉取到了Jenkins工程中,如果要变成产出物,还需要对源代码进行编译操作。
在myproject-ci工程中,找到配置
在Build中选择执行shell
sh /usr/local/maven/bin/mvn package
shell脚本说明,使用maven来执行package命令,将源代码编译,自动测试,并打包,形成jar文件,这个过程由maven自动完成。
填写完成,点击应用、保存
点击立即构建