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)[收集]
你或其他人刚刚写完了一段代码,提交到项目的版本仓库里面.但等一下,如果新提交的代码把构建搞坏了怎么办?万一出现编译错误,或者有的测试失败了,或者代码不符合质量标准所要求的底限,你该怎么办? 最不靠谱的 ...
随机推荐
- 队列(Java实现)
队列的特点是先进先出. 基于链表的队列 public class LinkedListQueue<Item> { private Node first; // 指向最早添加进队列的元素 p ...
- 使用io/ioutil进行读写文件
读文件: package main import ( "fmt" "io/ioutil" ) func main() { b, err := ioutil.Re ...
- python桶排序代码
代码基于3.8 def bucketSort(nums): #选择一个最大的数 max_num = max(nums) # 创建一个元素全是0的列表, 当做桶 bucket = [0]*(max_nu ...
- 整合pjax无刷新
一:整合pjax的准备工作: 检查你的网站是否引入1.7.0版本以上的jquery.js,如果没有请全局引入 1.新浪CDN提速:<script type="text/javascri ...
- Flume-几种拓扑结构
一.串联 Flume Agent 连接 这种模式是将多个 flume 顺序连接起来了,从最初的 source 开始到最终 sink 传送的目的存储系统.此模式不建议桥接过多的 flume 数量,flu ...
- python 牛顿迭代法
使用牛顿迭代法求方程 在x附近的一个实根. 赋值X,即迭代初值:用初值x代入方程中计算此时的f(x)=(a * x * x * x + b * x * x + c * x + d)和f’(x)=(3 ...
- Selenium 2自动化测试实战34(编写Web测试用例)
编写Web测试用例 1.介绍了unittest单元测试框架,其主要是来运行Web自动化测试脚本.简单的规划一下测试目录:web_demo1/------test_case/------------te ...
- Java日志体系(三)commons-logging
1.1 简介 Apache Commons Logging,又名JakartaCommons Logging (JCL),它是Apache提供的一个通用的日志接口,它的出现避免了和具体的日志方案直接耦 ...
- docker命令小结
文档:docker命令小结.note链接:http://note.youdao.com/noteshare?id=54015b76db9ae764182cb921e348b7fc&sub=DD ...
- MongoDB概念、安装和配置
1.概念 分布式文档存储,高读写吞吐量,自动灾备,可伸缩. 不需要遵守严格的数据schema意味着mongodb更灵活.更适合快速开发. 2.安装 2.1 yum 安装 配置yum源 = [mongo ...