Jekins构建与Docker部署

                                                     Jekins构建与Docker部署

前言:

有关Jenkins的介绍以及CICD的过程可以参考 浅谈CICD持续集成、持续部署的流程

代码构建主要由以下几个阶段构成,例如开发、打包、扫描、容器化部署等阶段。


一、开发阶段

  1. 开发者先创建分支,开发代码,提交代码(git add-commit-push)
  2. 其他开发者在本地未有该代码的情况下,git pull代码,最后提交代码,遇到冲突,则选择合并代码。

二、Maven阶段

  1. mvn clean install,该命令执行顺序如下
  •  删除已有的target目录
  • 执行资源文件的处理
  • 编译源代码,将生成的class文件存放至target/classes目录中
  • 执行测试资源文件的处理
  • 编译测试目录下的源代码,将生成的class文件存放至target/test-classes目录中
  • 运行测试用例,如果不想运行测试用例,可以指定-Dmaven.test.skip=true
  • 将项目打包成jar
  • 将jar包和pom文件安装到本地仓库中

三、sonar-scanner阶段

  1. 执行./sonar-scanner执行静态代码扫描,扫描后在web界面查看扫描的结果信息。

四、Docker阶段

  1. docker build
  2. 指定镜像名称 如yang:5000/plm
  3. docker build -t yang:5000/plm 依据Dockerfile构建该镜像,并通过-t指定镜像仓库和名称
  4. registry/harbor仓库使用clair镜像扫描。对镜像扫描感兴趣的请移步我的这篇文章 【Docker】镜像安全扫描工具clair与clairctl
  5. docker push yang:5000/plm 将该镜像push到私有仓库中
  6. docker pull yang:5000/plm 运行该镜像的主机将镜像拉取下来
  7. docker run -d yang:5000/plm 运行该镜像,通常需要使用
  • -e key:value添加运行时参数
  • -restart=always 一旦容器挂掉,则立即重启
  • --net=host 让容器共享宿主机的网络模式,这种模式只支持在linux上使用。使用此模式的容器,不需要使用-p来映射端口

未完待续...

你可能感兴趣的:(Docker,Maven,Jenkins)