您现在的位置是:首页 > 学无止境 > jenkins

docker+jenkins+码云(gitee)持续集成

贾继涛 2019-03-12 2129人围观
jenkins  java  

1.启动jenkins 在/usr/local/docker/jenkins建立docker-compose.yml

version: '3.1'
services:
  jenkins:
    image: jenkins/jenkins
    restart: always
    container_name: jenkins
    privileged: true
    ports:
    - 8085:8080
    - 50000:50000
    environment:
      TZ: Asia/Shanghai
    volumes:
    - ./data:/var/jenkins_home

2.环境登录插件的安装在此忽略

3.配置->系统管理->全局工具配置

下载apache-maven-3.6.0-bin.tar.gz和jdk-8u191-linux-x64.tar.gz

解压放到/usr/local/docker/jenkins/data/maven和/usr/local/docker/jenkins/data/jdk18下

对应docker容器中jenkins中/var/jenkins_home/maven和/var/jenkins_home/jdk18

blob.png

4.git在容器中已存在

进入docker exec -it jenkins bash

blob.png

blob.png


5.新建任务->构建一个maven项目配置

 1.源码管理

blob.png

 2.构建触发器 码云中

blob.png

blob.png

3.maven打包

blob.png


4.Publish over SSH配置

先配置免密登录

进入docker容器(jenkins)

docker exec -it jenkins bash


在docker(jenkins)容器配置免密码登录

ssh-keygen -t rsa

然后三次回车

cd /var/jenkins_home/.ssh


将jenkins(docker)容器的的公钥id_rsa.pub中的内容复制到应用服务器(宿主机) 

的~/.ssh/下的 authorized_keys文件修改权限,chmod 644 authorized_keys

重启(应用服务器)宿主机sshd

service sshd restart 或者 systemctl restart sshd.service


在系统管理->系统设置->Publish over SSH 

blob.png

5 继续回到配置流程中

blob.png

6.deloyBoke.sh 

注意:我这里jenkins同一个机器所以项目是复制的 不在同一台机器 

应用服务器需要配置git 克隆下来项目打包

项目中用assembly打的zip包 

#!/bin/sh
#This is to show what a example looks like.
echo "**************************************start*"
cd /usr/local/docker/tomcat9/webapps
/bin/pwd
rm -rf ROOT
mkdir ROOT
cp /usr/local/docker/jenkins/data/workspace/test/target/webBoke-1.0.0-Beta.zip \
/usr/local/docker/tomcat9/webapps/ROOT/webBoke.zip
cd ROOT
unzip webBoke.zip
cd /usr/local/docker/tomcat9
docker-compose down
sleep 5s
docker-compose up -d
echo "**************************************end***"


您的支持