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   [email protected]

git clone [email protected]:/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

    [email protected]:/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

构建

原文地址:http://blog.51cto.com/hequan/2095114

时间: 2024-10-05 04:45:05

Solo博客系统--Jenkins/docker自动化构建发布系统的相关文章

使用Jenkins Pipeline自动化构建发布Java项目

简介 Pipeline,简而言之,就是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. Pipeline是Jenkins2.X的最核心的特性,帮助Jenkins实现从CI到CD与DevOps的转变. 一,创建pipeline项目 二,清除部分历史构建 三,参数化构建 这里使用三个参数,分别对应是否拉取代码,项目名称,以及发版选项 四,编写pipeline脚本 选择pipeline script编写pipeline

一步一步用jenkins,ansible,supervisor打造一个web构建发布系统

新blog地址:http://hengyunabc.github.io/deploy-system-build-with-jenkins-ansible-supervisor/ 一步一步用jenkins,ansible,supervisor打造一个web构建发布系统. 本来应该还有gitlab这一环节的,但是感觉加上,内容会增加很多.所以直接用github上的spring-mvc-showcase项目来做演示. https://github.com/spring-projects/spring-

Jenkins pipeline自动化构建审批功能

Jenkins Pipeline是一套插件,支持将连续输送Pipeline实施和整合到Jenkins.Pipeline提供了一组可扩展的工具,用于通过PipelineDSL为代码创建简单到复杂的传送Pipeline. 对于单个项目来说,使用这样的Pipeline来构建能够满足绝大部分需求,但是这样做也有很多缺陷,包括: 多个项目的Pipeline打包脚本不能公用,导致一个项目写一份脚本,维护比较麻烦.Jenkins提供了一个更优雅的管理Pipeline脚本的方式,在配置项目Pipeline的时候

小白摸索:阿里云ECS搭建Solo博客

Solo博客挺好玩的,但是毕竟小众,拿来偶尔写写无聊的东西也挺好的. 本文前提:阿里云ECS服务器一台 实现效果:通过IP地址访问solo博客 实现步骤: 1. XShell远程连接阿里云ECS 2. 环境准备 2.1 centOS7安装Java 2.2 centOS7安装docker 2.3 dockera安装mysql 2.4 navicat连接docker中的mysql 3. 安装Solo 4. Nginx反向代理Solo 5. 访问博客 原文地址:https://www.cnblogs.

运维技巧:简单4步完成自动化构建发布

各位看官,这不是一个揭发单身有为青年因同事们天天秀恩爱而受到一万点暴击伤害的故事.这里指的狗粮,不是真正的"狗粮"--当然,也不是你们认为的狗粮. 事实上,现在很多涉足产品开发的互联网公司,都会提到"吃狗粮"这一概念(出自"Eating yourown dog food -- 吃你自家的狗粮"),它的意思是公司内部员工使用自己生产的产品进行日常工作.这么做有什么好处呢,比方说一家公司做美颜APP的,结果他们自己员工却用某图秀秀P图,这产品对外怎么

Jenkins+docker实现应用发布和更新

Jenkins+docker实现应用发布 Jenkins:centos6.5 ip:192.168.83.84 Docker:centos7.2 ip:192.168.83.60 一.安装Jenkins 最新版: sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm --import http://pkg.jenkins-ci.org/redhat/jen

Linux文档整理之【Jenkins+Docker自动化部署.Net Core】

这次整理的文档是Jenkins+Docker实现自动化部署,很早之前就写的,今天有时间就搬到博客园做个记录. Jenkins是基于Java开发的一种持续集成工具,主要用于持续.自动的构建/测试软件等相关项目.在Java开发中我们经常能看到使用jenkins来部署,.Net core目前还是比较少见的,但是好的东西我们就应该要拿来使用.借鉴. 1. 安装JenKins 这里使用Docker来安装JenKins,当然也可以直接安装到Linux中. 创建jenkins工作目录 mkdir /usr/l

war包方式部署solo博客

solo,一款小而美的博客系统,GitHub:https://github.com/b3log/solo ## 环境和文件准备 - 服务器:用的阿里云服务器,系统是CentOS 7.3 64 位. - JDK:1.8 - Tomcat: 9.0.24 - MySQL:5.7 - solo:solo-v3.6.4.war 介绍两款工具,接下来会用到,**Xshell**和**Xftp**[Xshell 和 Xftp 的下载使用](https://blog.csdn.net/Lucius_/arti

使用Jenkins配置自动化构建

摘自http://blog.csdn.net/littlechang/article/details/8642149 持续集成是个简单重复劳动,人来操作费时费力,使用自动化构建工具完成是最好不过的了. 为了实现这个要求,我选择了Jenkins. 从http://mirrors.jenkins-ci.org/windows/latest下载windows下的最新安装版jenkins.(如果不能安装,从http://mirrors.jenkins-ci.org/war/latest/jenkins.