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)[收集]
你或其他人刚刚写完了一段代码,提交到项目的版本仓库里面.但等一下,如果新提交的代码把构建搞坏了怎么办?万一出现编译错误,或者有的测试失败了,或者代码不符合质量标准所要求的底限,你该怎么办? 最不靠谱的 ...
随机推荐
- NIO学习总结
第一.NIO概述 java.nio 全称 java non-blocking IO,是指 JDK 提供的新 API.从 JDK1.4 开始,Java 提供了一系列改进的输入/输出的新特性,被统称为 N ...
- 汽车辐射监测系统-Qt开发[转]发
功能介绍: 利用在路边的两个探测器,探测汽车的辐射剂量,通过电子板进行数据采集,并串口传输到计算机,实时显示.可以保存采集数据,进行独立显示. 开发环境: VS2008,Qt4.7, QWT 6.0. ...
- mysql:启动服务时遇到的问题
1.cmd命令: 在切换路径时,如果要切到另外一个磁盘,比如从C盘切到E盘,命令如下: cd /d 你要切换的路径 2.错误:“服务名无效” 问题原因:mysql服务没有安装.(参考:https:// ...
- Android ListView多布局
使用listview多布局会出现一点问题: 由于多个item布局给单一的item布局是不一样的,使用起来,contentview的复用会出现问题. 避免出现问题的有这几个方法: 1.重写 getVie ...
- Mysql 逗号分隔行列转换总结
方法一 存储过程实现: -- 修改结束符,防止在mysql命令行中默认分号直接运行 delimiter $$ -- 创建一个计算拆分后字符串的个数函数 drop function if exists ...
- LC 900. RLE Iterator
Write an iterator that iterates through a run-length encoded sequence. The iterator is initialized b ...
- react中回车enter事件处理
对于常见的搜索需求业务场景,用户输入完成后,点击enter事件请求数据,要求不提交页面,实现数据局部更新,这需要用到react中的表单Forms. 处理方法: (1)html书写 form标签中去掉a ...
- GBK格式字符串右补空格
public class Test2 { public static void main(String[] s) throws IOException { List<User> l ...
- 监控数据库DDL操作日志
背景 为了监控好生产环境下各个数据库服务器上DDL操作日志,便于运维工程师管控好风险,我们有必要关注当前实例下的所有的DDL操作以及对应的IP和hostname. 测试环境 Microsoft SQL ...
- window 10 安装vs2013启动web项目报错Id端口不能启动iis
https://www.cnblogs.com/leolion/p/3789732.html 如果我们想在Visual Studio2013上调试64位ASP.NET MVC的网站(本机环境X64), ...