美文网首页
使用Jenkins持续部署项目

使用Jenkins持续部署项目

作者: ACtong | 来源:发表于2020-10-03 17:47 被阅读0次

    一、使用docker方式安装Jenkins

    根据官方文档,一步步的安装

    docker network create jenkins
    
    docker volume create jenkins-docker-certs
    docker volume create jenkins-data
    
    如果没有docker:dind,就是用`docker image pull docker:dind.`
    docker container run --name jenkins-docker --rm --detach \
      --privileged --network jenkins --network-alias docker \
      --env DOCKER_TLS_CERTDIR=/certs \
      --volume jenkins-docker-certs:/certs/client \
      --volume jenkins-data:/var/jenkins_home \
      --publish 2376:2376 docker:dind
    
    docker container run --name jenkins-blueocean --rm --detach \
      --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
      --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
      --volume jenkins-data:/var/jenkins_home \
      --volume jenkins-docker-certs:/certs/client:ro \
      --publish 8080:8080 --publish 50000:50000 jenkinsci/blueocean
    

    需要输入管理员密码,相应的内容在jenkins home 下的/secrets/initialAdminPassword。

    我们也可以用docker logs -f jenkins查看jenkins的日志拿到该信息

    二、使用Jenkins

    1、创建一个项目
    2、点击build now开始构建

    • 如果报错,使用console查看
    • 如果maven没有找到,可以进入到容器中,直接下载,复制连接,使用wget 链接,下载(更推荐docker方式)

    3、 使用Jenkinsfile

    • Jenkinsfile就是管理配置的文件,每次创建新项目,就不用手动配置了
    • Jenkinsfile的好处是,每个分支可以有不同的Jenkinsfile
    • 核心代码只是pipeline,这是一条流水线


      image.png
    pipeline {
         agent any
         triggers {
              pollSCM('* * * * *')
         }
         stages {
            stage('Test') {
                agent { docker { image "circleci/openjdk:8u212-jdk-stretch" } }
                steps {
                    sh 'mvn clean package'
                    stash includes: '**/target/*.jar', name: 'app'
                }
            }
    
            stage('Docker Build') {
               steps {
                   echo 'Starting to build docker image'
    
                    unstash 'app'
                    script {
                        def customImage = docker.build("192.168.0.104:5002/jenkins-test:${new Date().format('yyyy-MM-dd-HH-mm-ss')}")
                        customImage.push()
                    }
               }
            }
         }
    }
    

    三、Jenkins的步骤

    大致的步骤如下:

    • 开发人员通过IDE工具将代码推送到github.
    • jenkins从github中获取到源码,并使用maven编译、打包、自动构建镜像.
    • jenkins在构建脚本中调用docker命令将构建好的镜像push到本地Docker Registry.并启动相应的容器.
    • jenkins构建失败或者成功,可以及时将结果推送给相关人员,比如测试人员,安排测试.
    • 运维人员只需获取相应的镜像就可以快速发布到生产环境.
    image.png

    相关文章

      网友评论

          本文标题:使用Jenkins持续部署项目

          本文链接:https://www.haomeiwen.com/subject/giywuktx.html