DevOps(devops/k8s/docker/Linux)学习笔记-3

09-Jenkins实现基础CI操作

此章节的主要目的:首先将“新建的项目(mytest)” push到 Gitlab上,然后通过Jenkins拉取Gitlab中mytest项目代码到Jenkins本地,再通过Jenkins把mytest项目通过maven构建成jar包,最后将构建的jar发布到目标服务器的过程。

DevOps(devops/k8s/docker/Linux)学习笔记-3

1、将 mytest 项目拉取到 Jenkins本地

打开Idea创建 mytest 项目

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

启动之后,在流程器中访问 http://localhost:8080/test 

DevOps(devops/k8s/docker/Linux)学习笔记-3

打开 Gitlab ,创建一个项目

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

打开 Idea软件,在Idea中的 terminal 中输入如下内容:



git config --global usr.name "administrator"
 
git config --global usr.email "admin@example.com"

DevOps(devops/k8s/docker/Linux)学习笔记-3

创建本地仓库

DevOps(devops/k8s/docker/Linux)学习笔记-3

提交代码到 gitlab中

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

把代码 push到 http://192.168.11.101:8929/root/mytest.git 中

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

打开 Jenkins 创建一个任务,主要是把 gitlab中的mytest项目与 Jenkins 进行绑定

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

点击【save】之后,打开如下页面,只需要点击“Build Now”,就会把代码从Git中把代码拉取到Jenkins本地

DevOps(devops/k8s/docker/Linux)学习笔记-3

点击“Console Output”,可以查看日志

DevOps(devops/k8s/docker/Linux)学习笔记-3

这里可以看到 Git执行的一些命令

DevOps(devops/k8s/docker/Linux)学习笔记-3

为了确定 mytest 项目的代码是否已经放入到 Jenkins本地,我们可以进入Jenkins容器里进行查看,

DevOps(devops/k8s/docker/Linux)学习笔记-3

Jenkins中的所有工程都会放到 workspace中。

DevOps(devops/k8s/docker/Linux)学习笔记-3

切换到 workspace中,可以看到 mytest 项目,证明已经把mytest拉取到 Jenkins本地。

DevOps(devops/k8s/docker/Linux)学习笔记-3

2、将Jenkins本地mytest项目,通过 Maven将项目构建成一个Jar包

DevOps(devops/k8s/docker/Linux)学习笔记-3

打开在Jenkins工程中的 Configure 配置

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

Maven Version中的 maven 是之前创建的,点击【apply】按钮即可。

DevOps(devops/k8s/docker/Linux)学习笔记-3

点击【apply】按钮之后,将跳转到如下页面,点击“ Build Now”之后,将执行构建操作。

DevOps(devops/k8s/docker/Linux)学习笔记-3

构建完成之后,我们进入docker中的 Jenkins,  cd到 /workspace/mytest目录,发现已经多了一个 target目录,再进入到 target目录中,发现 mytest-0.0.1-SNAPSHOT.jar已经构建好了

DevOps(devops/k8s/docker/Linux)学习笔记-3

3、将 Jar包push到目标服务器

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

“Send build artfacts over SSH”为之前连接目标服务器的插件

DevOps(devops/k8s/docker/Linux)学习笔记-3

将 target/*.jar推送到 test服务器中

DevOps(devops/k8s/docker/Linux)学习笔记-3

点击【Save】按钮之后,点击“Build Now”即可。

DevOps(devops/k8s/docker/Linux)学习笔记-3

检查 jar 是否已经push到目标服务器中,如下为之前配置的目录服务器信息。

DevOps(devops/k8s/docker/Linux)学习笔记-3

现在我们就进入 192.168.11.101服务器的 /usr/local/test就会多了一个 target目录,这就证明已经成功了。

DevOps(devops/k8s/docker/Linux)学习笔记-3

4、将目标服务中的jar包,部署到docker容器中,并运行起来

DevOps(devops/k8s/docker/Linux)学习笔记-3

如果要以docker形式运行,首先要将当前的镜像生产一个自定义的镜像,dokcer像生成一个自定义的镜像,就需要增加 Dockerfile文件,我们在mytest项目中新建一个 Dockerfile文件,并在pom.xml文件中的build节点中,增加 <finalName>mytest</finalName> 内容。

DevOps(devops/k8s/docker/Linux)学习笔记-3

Dockerfile文件的内容如下:

DevOps(devops/k8s/docker/Linux)学习笔记-3

  为了方便管理,新建 docker-compose.yml文件,并提交到 Git 仓库。

DevOps(devops/k8s/docker/Linux)学习笔记-3

打开Jenkins之后,点击【Build Now】重新构建

DevOps(devops/k8s/docker/Linux)学习笔记-3

进入到 docker容器,查看 刚刚提交的Dockerfile和docker-compose.yml是否已经push到Jenkins本地了

DevOps(devops/k8s/docker/Linux)学习笔记-3

在Configure中追加构建定义镜像和执行的脚本

DevOps(devops/k8s/docker/Linux)学习笔记-3

DevOps(devops/k8s/docker/Linux)学习笔记-3

这里可能会出现端口冲突,可以将端口更改为 8081

DevOps(devops/k8s/docker/Linux)学习笔记-3

 修改文件之后,将文件上次到Gitlab中,再进入 Jenkins平台点击【Bulid New】。

DevOps(devops/k8s/docker/Linux)学习笔记-3

构建成功之后,登录到linux系统,通过 docker ps 命令,查看mytest是否已经运行成功了

DevOps(devops/k8s/docker/Linux)学习笔记-3

访问: http://192.168.11.102:8081/test 

DevOps(devops/k8s/docker/Linux)学习笔记-3

这就把 CI 操作完成了

DevOps(devops/k8s/docker/Linux)学习笔记-3

 提醒:docker image prune -f 为删除为空的镜像

     

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...