Solo博客系统--Jenkins/docker自动化构建发布系统

Solo博客系统--Jenkins/docker自动化构建发布系统
Solo博客系统--Jenkins/docker自动化构建发布系统

部署

git服务器

yum install git
useradd git
passwd git

创建仓库
su - git
mkdir  solo.git
git --bare  init  ##初始化仓库

docker

cat >> /etc/docker/daemon.json << EOF
{
"insecure-registries":["reg.hequan.xyz:5000"]
}
EOF

Jenkins服务器

wget https://codeload.github.com/b3log/solo/zip/master    
unzip master

##用来让 jenkins 免密钥 拉代码
ssh-keygen    -t rsa
ssh-copy-id   git@reg.hequan.xyz

git clone git@reg.hequan.xyz:/home/git/solo.git     
cp -rf solo-master/* solo/
cd solo

 # docker服务器 ip  和 监听端口
vim   src/main/resources/latke.properties
serverHost=192.168.1.111         
serverPort=80

#上传代码
git add .
git commit  -m "all"
git push origin  master 

生成一个基本镜像

cat >>  Dockerfile << EOF

FROM jenkins

USER root
RUN echo '' > /etc/apt/sources.list.d/jessie-backports.list && \
    wget http://mirrors.163.com/.help/sources.list.jessie -O /etc/apt/sources.list

RUN apt-get update && apt-get install -y git libltdl-dev

EOF

docker  build   -t  jenkins:v1  .

启动jenkins


docker run -d \
--name jenkins \
-p 8080:8080 \
-v /var/jenkins_home/:/var/jenkins_home \
-v /usr/local/apache-maven-3.5.0:/usr/local/maven \
-v /usr/local/jdk1.8.0_45:/usr/local/jdk \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/usr/bin/docker \
-v ~/.ssh:/root/.ssh \
jenkins:v1

tomcat 上传到harbor服务器

FROM centos:7
MAINTAINER   hequan

RUN yum install unzip iproute -y

ENV JAVA_HOME /usr/local/jdk

ADD apache-tomcat-8.0.46.tar.gz /usr/local
RUN mv /usr/local/apache-tomcat-8.0.46 /usr/local/tomcat

WORKDIR /usr/local/tomcat
EXPOSE 8080
ENTRYPOINT ["./bin/catalina.sh", "run"]

docker  build  -t  reg.hequan.xyz/test/tomcat:v1  .
docker  login -u hequan -p  123456  reg.hequan.xyz
docker  push  reg.hequan.xyz/test/tomcat:v1


启动 设置jdk,git,maven

插件-高级    http://mirrors.shu.edu.cn/jenkins/updates/update-center.json
配置 Credentials -- (global) -- Add Credentials    
SSH Username with private key    
root    
From the Jenkins master ~/.ssh
配置  免密登录 docker 服务器系统管理--系统设置--
SSH remote 
hosts  
192.168.1.111 22root(docker)

创建任务

git

    git@192.168.1.112:/home/git/solo.git

Poll SCM

     * * * * *

Build

clean install -Dmaven.test.skip=true

Post Steps

Execute shell

cd $WORKSPACE
cat > Dockerfile <<EOF
FROM  reg.hequan.xyz/test/tomcat:v1

COPY  target/solo.war  /tmp/ROOT.war

RUN  rm -rf /usr/local/tomcat/webapps/*  && \
     unzip   /tmp/ROOT.war  -d  /usr/local/tomcat/webapps/ROOT  && \
     rm -f /tmp/ROOT.war

WORKDIR /usr/local/tomcat
EXPOSE 8080
ENTRYPOINT  ["./bin/catalina.sh","run"]
EOF

docker  build  -t  reg.hequan.xyz/test/solo:v1  .
docker  login -u hequan -p  123456  reg.hequan.xyz
docker  push  reg.hequan.xyz/test/solo:v1

Execute shell script on remote host using ssh


docker  rm -f    solol  | true
docker  rmi -f   reg.hequan.xyz/test/solo:v1  |  true

docker  login -u hequan  -p  123456   reg.hequan.xyz
docker  run   -itd   --name solol    -p 80:8080  -v /usr/local/jdk1.8.0_45/:/usr/local/jdk  reg.hequan.xyz/test/solo:v1

构建

转载于:https://blog.51cto.com/hequan/2095114

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值