centos7 在docker swarm中运行Jenkins,利用gitlab的webhook触发自动部署脚本
1、宿主机中创建目录
mkdir -p /jenkins_home
2、编辑compose文件,文件名jenkins.yml
version: '3.4'
services:
jenkins-upgrade:
volumes:
- /jenkins_home:/var/jenkins_home
image: jenkins/jenkins:lts
ports:
- :
- :
deploy:
mode: global
update_config:
parallelism:
delay: 10s
order: stop-first
宿主机端口和容器被映射的端口一定要一致
3、部署,执行命令
docker stack deploy -c jenkins.yml jenkins
不好意思今天博客园抽风,贴不上图,一贴图就提示我登陆,后边再补图吧
4、访问8080端口,选择必须的插件,配置用户名密码(略)
5、安装插件 Maven Integration plugin 、SSH、Gitlab和Gitlab Hook Plugin
5.1、在系统管理-全局工具配置中,找到并点击“Maven 安装...”按钮,填写Maven Name(随意填写),勾选自动安装,并保存
6、新建一个maven任务,
7、在源码管理中添加源码地址,增加用户名密码凭据
8、在构建触发器中 选中Build when a change is pushed to GitLab,后边的地址就是git的webhook要填的地址,在高级中生成Secret token,也填到git的webhook中
9、在Build中的Goals and options里填写clean package
10、在Post Steps中添加Execute shell script on remote host using ssh,分别填写SSH的地址和要执行的命令,SSH的地址需要先在 系统管理-系统设置 的 SSH remote hosts 添加相关数据,然后才能在下拉框中选中。参考命令如下:
/usr/local/apache-tomcat-8.5./bin/shutdown.sh
rm -f /usr/local/apache-tomcat-8.5./webapps/upgrade.war
cp -f /jenkins_home/workspace/upgrade-manager-maven/target/upgrade-manager-0.0.1.war /usr/local/apache-tomcat-8.5./webapps/upgrade.war
/usr/local/apache-tomcat-8.5./bin/startup.sh
容器集群模式部署参考命令如下:
export LAST_HTML_IMAGE_NAME=`docker images |grep html-in-microservice|sed -n '1p'|awk {'print $1":"$2'}`
sed -i "s#image:.*#image: $LAST_HTML_IMAGE_NAME#g" /apps/html.yml
nohup docker save -o /docker-images/html-`docker images|grep html-in-microservice|sed -n '1p'|awk {'print $2'}`.tar $LAST_HTML_IMAGE_NAME >/dev/null >& &
nohup docker stack deploy -c /apps/html.yml html >/dev/null >& &
保存即可
11、再gitlab的webhook中配置相应的内容
之后再提交代码就会触发构筑和脚本执行
(完毕)
centos7 在docker swarm中运行Jenkins,利用gitlab的webhook触发自动部署脚本的更多相关文章
- 利用github的webhook进行自动部署
利用github的webhook进行自动部署 github提供了webhook功能,大概意思就是,当你提交了代码,git检测到你进行了push,可以调起你一个你知道的url. 这个功能有什么用了?比如 ...
- 在docker中运行jenkins实现代码自动发布到测试服务器
在docker中运行jenkins 用的镜像是apline版:lts-alpine,并设置正确的时区. docker run --name jenkins_master -d \ -p 8081:80 ...
- Docker容器中运行ASP.NET Core
在Linux和Windows的Docker容器中运行ASP.NET Core 译者序:其实过去这周我都在研究这方面的内容,结果周末有事没有来得及总结为文章,Scott Hanselman就捷足先登了. ...
- docker_facenet_image在Docker容器中运行Facenet环境搭建
对开发和运维人员来说,可能最梦寐以求的就是一次性地创建或配置,可以在任意环境.任意时间让应用正常运行.而Docker恰恰是可以实现这一终极目标的瑞士军刀. 具体来说,Docker在开发和运维过程中,具 ...
- .NetCore下使用IdentityServer4 & JwtBearer认证授权在CentOS Docker容器中运行遇到的坑及填坑
今天我把WebAPI部署到CentOS Docker容器中运行,发现原有在Windows下允许的JWTBearer配置出现了问题 在Window下我一直使用这个配置,没有问题 services.Add ...
- 一个docker容器中运行多个服务还是弄一堆docker容器运行?
不建议直接在单个 Docker 容器中运行多个程序. 以 2017年 10 月18 日 Docker 官方支持 Kubernetes 为分水岭计算,Kubernetes 赢得容器编排之战的最终胜利已经 ...
- 在docker容器中运行hello world!
在docker容器中运行hello world! docker容器可以理解为在沙盒中运行的进程.这个沙盒包含了该进程运行所必须的资源,包括文件系统.系统类库.shell 环境等等.但这个沙盒默认是不会 ...
- Elasticsearch核心技术(1)--- Docker容器中运行ES、Kibana、Cerebro
Docker容器中运行ES,Kibana,Cerebro和Logstash安装与数据导入ES 想加强ES有关的知识,看了阮一鸣老师讲的<Elasticsearch核心技术与实战>收获很大, ...
- .Net Core 3.0 的 docker 容器中运行 无法 访问 Oracle数据库
.Net Core 3.0 的 docker 容器中运行 无法 访问 Oracle数据库 , 一直报下面的错误 ORA-00604: error occurred at recursive SQL ...
随机推荐
- Intel的AVX2指令集解读
原文链接:http://blog.csdn.net/vbskj/article/details/38408213 在Intel Sandy Bridge微架构中,Intel引入了256位SIMD扩展A ...
- ThinkPHP错误信息处理
index.php入口文件中打开APP_DEBUG// 开启调试模式define('APP_DEBUG', TRUE); // 开启Trace信息 'SHOW_PAGE_TRACE' =>tru ...
- exchange 2010
Set-MailboxFolderPermission dalian:\Calendar -User Default -AccessRights Reviewer C:\>$rooms = Ge ...
- 如何设置浏览器禁止使用UC浏览器
通过UA可以判断浏览器是否是UC浏览器 if(navigator.userAgent.indexOf('UCBrowser')>-1) { alert("当前浏览器不支持本站,建议更 ...
- 28个HTML5特征、窍门和技术
原文地址: http://www.zhangxinxu.com/wordpress/2010/08/%E7%BF%BB%E8%AF%91-%E4%BD%A0%E5%BF%85%E9%A1%BB%E7 ...
- ASP.NET MVC:WebPageRenderingBase.cs
ylbtech-funcation-Utility: ASP.NET MVC:WebPageRenderingBase.cs 提供用于呈现使用 Razor 视图引擎的页的方法和属性. 1.A,WebP ...
- [leetcode]Edit Distance @ Python
原题地址:https://oj.leetcode.com/problems/edit-distance/ 题意: Given two words word1 and word2, find the m ...
- JAVA中如何将一个json形式的字符串转为json对象或对象列表
import java.util.*; import java.text.SimpleDateFormat; import org.json.JSONObject; import org.json.J ...
- http://blog.csdn.net/u014595019/article/details/52805444
http://blog.csdn.net/u014595019/article/details/52805444 tensorflow笔记系列: (一) tensorflow笔记:流程,概念和简单代码 ...
- NLP常用信息资源
ACL Anthology,囊括了ACL,EMNLP,CL等NLP领域重要会议和期刊的论文.http://www.aclweb.org/anthology-new/ LDC: The Linguist ...