当前位置 博文首页 > 阳阳的博客:Jekins构建与Docker部署

    阳阳的博客:Jekins构建与Docker部署

    作者:[db:作者] 时间:2021-08-15 10:05

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?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来映射端口

    未完待续...

    cs