天天看点

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 [email protected]:/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包下来打包 

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