Docker结合Jenkins构建持续集成环境
1.环境说明:
jenkins+svn:192.168.71.142
测试环境:192.168.71.145
生产环境:192.168.71.148
操作系统:centos7.
Maven3.
Tomcat8
JDK1.
Jenkins2.
Docker CE 17.06
2.SVN安装配置及简单使用:
# yum -y install subversion
# mkdir /home/svn
# svnadmin create /home/svn/repos
# vi /home/svn/repos/conf/svnserve.conf
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
# vi /home/svn/repos/conf/passwd
[users]
test =
# vi /home/svn/repos/conf/authz
[repos:/]
test = rw
# svnserve -d -r /home/svn
仓库地址:svn://192.168.71.142/repos
就可以输入仓库地址了svn://192.168.71.142/repos
用户名:test
密码:123456
3.Docker镜像仓库搭建
docker run -d \
-v /opt/registry:/var/lib/registry \
-p : \
--restart=always \
--name registry \
registry
在部署节点配置Docker可信任私有仓库:
# vim /etc/docker/daemon.json
{"registry-mirrors": ["http://04be47cf.m.daocloud.io"],"insecure-registries":["192.168.71.142:5000"]}
systemctl daemon-reload
systemctl restart docker
上传基础镜像到私有仓库:
# docker build -t 192.168.71.142:/lnmp-nginx:base .
# docker build -t 192.168.71.142:/lnmp-php:base .
# docker push 192.168.71.142:/lnmp-nginx:base
# docker push 192.168.71.142:/lnmp-php:base
4.部署节点安装Docker与Docker-Compose及配置普通用户sudo
.安装Docker-ce
#去百度查docker-ce安装
.安装Docker-Compose
# curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` -o
/usr/local/bin/docker-compose
# chmod +x /usr/local/bin/docker-compose
.赋予用户sudo权限
# vi /etc/sudoers
user ALL=(ALL) NOPASSWD:ALL
5.Jenkins安装
安装包下载:
http://mirrors.jenkins.io/war-stable/
http://maven.apache.org/download.cgi
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
配置JDK和Maven环境变量:
# tar zxvf jdk-8u45-linux-x64.tar.gz
# mv jdk1..0_45 /usr/loca/jdk.
# tar apache-maven-3.5.-bin.tar.gz
# mv apache-maven-3.5. /usr/local/maven3.
# vim /etc/profile
JAVA_HOME=/usr/local/jdk1.
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
MAVEN_HOME=/usr/local/maven3.
PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
export JAVA_HOME CLASSPATH MAVEN_HOME PATH
# tar zxvf apache-tomcat-8.0..tar.gz
# cd apache-tomcat-8.0./webapps
# rm -rf ./*
# unzip /root/jenkins.war -d ROOT
# ../bin/startup.sh
6.Jenkins基本配置与创建项目
系统管理->系统设置:主要配置workspace目录,全局环境变量,邮件通知,其他插件配置等。
系统管理->Global Tool Configuration:主要配置JDK、Maven等工具。
在系统设置里面先配置好SSH连接各个部署节点信息,在创建项目中使用。
7.jenkins基础配置
Remote directory工作目录
Exec command需要执行的命令或者脚本
Docker结合Jenkins构建持续集成环境的更多相关文章
- Docker 结合Jenkins 构建持续集成环境
Docker 结合Jenkins 构建持续集成环境 Jenkins : 一个开源的持续集成工具, 提供软件版本发布.自动测试等一系列流程及丰富的插件 Maven: 一个自动化构建工具, 通过一段描述 ...
- 使用Jenkins构建持续集成环境
简介 Jenkins是一个开源的持续集成工具,提供了数百种插件供用户选择,能够完成整套持续集成环境的构建. 它具有如下的特点: 持续集成和持续发布 作为可扩展的自动服务器,Jenkins可以作为简单的 ...
- 用MSBuild和Jenkins搭建持续集成环境(2)
http://www.infoq.com/cn/articles/MSBuild-2 作者 Mustafa Saeed Haji Ali ,译者 李剑 发布于 2012年10月23日 | 注意: ...
- RF+Jenkins构建持续集成
引入RF是为了能够快速的开展自动化验收测试,Jenkins而一种持续集成工具,用于监控持续重复的工作,持续的软件版本发布/测试项目,而通过RF+Jenkins可以有利的对RF构建的接口项目进行持续集成 ...
- 使用jenkins构建持续集成平台
jenkins + Maven + svn/git + tomcat 的持续集成平台 项目管理流程: 需求分析----原型设计----开发代码----提交测试-----内部测试-----确认上线( ...
- 使用Jenkins+Docker+Gitlab+Maven搭建持续集成环境
继使用Docker搭建Gitlab后 大致的步骤如下: 开发人员通过IDE工具(IntelliJ IDEA)将代码推送到gitlab. jenkins从gitlab中获取到源码,并使用maven编译. ...
- Jenkins + svn + maven 构建持续集成环境搭建
Jenkins简介 Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能. Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: ...
- 用MSBuild和Jenkins搭建持续集成环境(1)
http://www.infoq.com/cn/articles/MSBuild-1 你或其他人刚刚写完了一段代码,提交到项目的版本仓库里面.但等一下,如果新提交的代码把构建搞坏了怎么办?万一出现编 ...
- 用MSBuild和Jenkins搭建持续集成环境(1)[收集]
你或其他人刚刚写完了一段代码,提交到项目的版本仓库里面.但等一下,如果新提交的代码把构建搞坏了怎么办?万一出现编译错误,或者有的测试失败了,或者代码不符合质量标准所要求的底限,你该怎么办? 最不靠谱的 ...
随机推荐
- python 找出数组重复的元素
""" 从头扫到尾,只要当前元素值与下标不同,就做一次判断,numbers[i]与numbers[numbers[i]], 相等就认为找到了重复元素,返回true,否则就 ...
- python中的break continue之用法
Break break跳出循环,并且终止最小封闭循环. Continue continue跳过本次循环,继续执行下一次的循环. 二者区别就是break会终止循环,continue不终止循环.
- Flume-Replicating Channel Selector 单数据源多出口
使用 Flume-1 监控文件变动,Flume-1 使用 Replicating Channel Selector 将变动内容传递给 Flume-2,Flume-2 负责存储到 HDFS.同时 Flu ...
- 2.基于AOP自定义注解Annotation的实现
上一篇中分析了AOP的实现原理, 总结为: 判断对象是否需要被代理?@Aspect注解的实现是根据切入点表达式 代理之后需要做什么,就是那些通知,本质上是实现了MethodInterceptor的拦截 ...
- Android之SharedPreference存储数据
*路径: /data/data/包名/shared_prefs/ * 以Xml文件存储数据 * 编写步骤 // 1. 获取sp SharedPreferences sp = this.getShare ...
- 用C#做成的程序如何打包部署,在其他PC机运行
刚刚接触C#,在linux下面做习惯了c和c++,在本机运行OK后,得瑟的去别的机子,居然运行不了,你妹啊,怎么回事,没有.NET Framework,原来和java类似,.NET Framework ...
- 关于JavaWeb面试
什么是JavaWeb? Java web 是指有Java语言开发出来可以在万维网上访问浏览的程序. Java Web,是用Java技术来解决相关web互联网领域的技术总和.web包括:web服务器和 ...
- sublime的简单配置(解决为什么package control无效)
1:下载sublime text 3 要到它的官网下载,要英文的. 2:安装sublime的包. 进入sublime按快捷键ctrl+~(~是键盘左上角Esc下面的键). 3:在这里面输入如下代码.( ...
- 一百一十七:CMS系统之注册页面对接短信验证码
from flask import Blueprint, requestfrom exts import alidayufrom utils import restfulfrom utils.capt ...
- rsync+inotify实时数据同步
没有实际的用过,先mark一下,后面实践. https://www.osyunwei.com/archives/7447.html 一.为什么要用Rsync+sersync架构? 1.sersync是 ...