• Linux使用docker安装Jenkins 并进行jar包发布


    拉取镜像

    docker pull jenkins/jenkins:lts

    创建docker-compose.yml 文件 (主要习惯 也可以不用这种方式)  Linux安装docker-compose 参考:https://www.cnblogs.com/pxblog/p/15049362.html

    version: "2"
    services:
      jenkins:
        image: jenkins/jenkins:lts
        container_name: jenkins
        environment:
          # - TZ="Asia/Shanghai"
          - timezone="Asia/Shanghai"
          - JENKINS_JAVA_OPTIONS="-Xms1024m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=512m -Duser.timezone=Asia/shanghai -Djava.awt.headless=true"
          - JENKINS_OPTS="--prefix=/jenkins" 
          - JENKINS_ARGS="--prefix=/jenkins"
        privileged: true
        user: root
        volumes:
          - /data/jenkins/home:/var/jenkins_home
          - /etc/localtime:/etc/localtime
        ports:
          - 8500:8080
          - 50000:50000
        restart: on-failure

    先创建挂载目录,然后执行

    docker-compose up -d

    -d :表示后台启动  第一次可以不使用 看下启动是否正常

     启动成功

    浏览器访问

    http://服务器ip:8500/jenkins

     然后查看密码 我的是

     cat /data/jenkins/home/secrets/initialAdminPassword

     

     安装完成后,这里可以创建,也可以使用默认的admin ,密码就是我们之前/secrets/initialAdminPassword 密钥

     

     

    配置环境变量

     

     配置环境变量maven  通过把maven包放到挂载目录

    添加全局凭据

     

     

     输入账号密码 id用gitlab

     确定之后

    开始部署项目

     

     脚本说明

    node {
            stage('Preparation') { 
              git branch: 'master', credentialsId: 'gitlab', url: 'http://git.demo.com/gitlab/test.git'
            }
            stage('Maven Build') {
                sh "mvn -v"
                sh "rm -rf /var/maven/repository/com/*"
                sh "rm -rf /var/maven/repository/org/*"
                sh "rm -rf /var/maven/repository/cn/*"
                sh "mvn -Dmaven.test.failure.ignore -DskipTests clean install"
                sh "rm -rf /var/maven/repository/com/*"
                sh "rm -rf /var/maven/repository/org/*"
                sh "rm -rf /var/maven/repository/cn/*"
            }
            stage('Deploy') {
                sh "pwd"
                sh "scp ./target/$JOB_NAME-1.0.0.jar root@192.168.1.101:/home/test/$JOB_NAME"
            }
              def remote = [:]
              remote.name = 'master'
              remote.host = '192.168.1.102'
              remote.user = 'root'
              remote.password = '123456'
              remote.allowAnyHosts = true
            stage('Remote SSH') {
             sshCommand remote: remote, command: "sh /home/test/restart.sh"
            }
        
    }

     

     $JOB_NAME 就是刚才我们填写的任务的名称,我是test,这里Jenkins会自动帮我们替换

    /var/maven/repository  这个是我们maven配置的本地仓库路径,每次都会删掉本地仓库的jar包 重新拉取最新的jar包下来打包 

    配置好了 点击立即构建 就可以查看效果了

    -----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------ (蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)
  • 相关阅读:
    My.NET.ClassLibrary.Note.1
    DesignPattern.Ch12.Facade.Node
    DesignPattern.Ch10.Template Method.Note
    Oracle.sql.Note
    C#.Static Field And Static Constructor.Autocriticism
    DesignPattern.Ch4.Open Closed Principle.Note
    关于n!被整除的问题【算法实现】
    令人费解的编译错误:error C2144: syntax error : 'double' should be preceded by ';' 和 error C3646: ';' : unknown override specifier
    诡异难解决的错误:Windows已在xxx.exe中触发一个断点
    Linux(Ubuntu10.04 )下libxml2的安装以及使用示例
  • 原文地址:https://www.cnblogs.com/pxblog/p/15048216.html
Copyright © 2020-2023  润新知