设为首页 收藏本站
查看: 2175|回复: 0

[经验分享] Jenkins+Ansible+Gitlab自动化部署实践

[复制链接]

尚未签到

发表于 2018-7-28 14:05:13 | 显示全部楼层 |阅读模式
  最近一直在学Ansible,详见上篇博客,但是总感觉使用ssh命令行操作有点low,另外官方也有收费版的Ansible Tower可视化软件,但是由于不开源,可以参考的资料很少,官方倒是有一些英文手册,但都是只说了功能,并没有操作步骤,对于我们来讲实在是难以上手,但是还是想试试到底它有什么高明的功能,于是下载了官方的试用版体验一把。
  最初的体验还是不错的,可以在页面上添加主机,添加任务,添加项目等等,并且执行起来效果也很舒服,如下图:
DSC0000.jpg

  有各种各样的状态和信息,并且以彩色显示,一眼就能看出成功与失败。但是正要兴奋的时候,问题来了,测试机器有一两台很好说,如果是大量集群,有成百上千台机器怎么办呢?我在inentory添加host的页面只看到了如下界面
DSC0001.jpg

  难道只能一台一台添加吗?这岂不是开玩笑?我继续检索相关文档,官方只是说可以通过云主机的source添加(如下图),可是我们不是云主机啊,就是物理机,难道就没有办法了吗?
DSC0002.jpg

  经过一天的检索依然未果,如果各路大神有办法批量添加主机请联系我,qq1848473726.谢谢。
  既然付费的软件都行不通,那估计还是闭源就无人问津,社区也就不活跃,也就没办法帮他优化,那作为一个互联网人还是诉诸于开源吧,经过检索资料,查到如下一篇文章,叫《Jenkins+Ansible+Gitlab自动化部署三剑客》(http://www.showerlee.com/archives/1880)。所以我就模仿前辈的方法自己做了一个nginx的部署实验。
  一、开通github账号,并创建仓库
  二、在虚拟机上安装Java、resin(下载二进制包即可,tar.gz)和ansible(yum install ansible –y)
  三、下载jenkins的war包(http://mirrors.jenkins.io/war-stable/)到resin的webapps文件夹,并重命名为ROOT.war
  四、启动resin(./bin/resin.sh start)
  五、在windows操作系统上编写playbooks,并用git-bash终端上传至github仓库,这一步可以参考该文章:https://blog.csdn.net/qq_31852701/article/details/52944312 需要注意的是如果使用ssh方式要先把主机的公钥上传至GitHub,该步骤可参考:https://blog.csdn.net/qq_35246620/article/details/69061355?locationNum=11&fps=1
  六、登录刚刚建好的jenkins服务器
  1、新建项目
DSC0003.jpg

  2、配置项目
DSC0004.jpg

  3、填写代码,确认项目
DSC0005.jpg

  4、上线演示
  为了保证安全,可以分为两个下拉菜单,一个是单台主机,另一个为主机组,如下图。nb441为单台主机的主机名,web为一个主机组。第一次建议部署一台主机,测试后没问题再部署整个组。
DSC0006.jpg

  5、上线过程展示
DSC0007.jpg

  6、当单台部署没问题之后,方可部署整个主机组,如下图。
DSC0008.jpg

  至此,演示完毕,如果需要演示代码可以去我的github下载(https://github.com/yx1991523/ansibledemo.git),感谢大家支持。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-542627-1-1.html 上篇帖子: ansible-playbook安装keepalived-指定tags安装MASTER或BACKUP 下篇帖子: ansible编写hadoop群集
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表