美文网首页
CD-jenkins部署cmdb

CD-jenkins部署cmdb

作者: 夜醉梦紅尘 | 来源:发表于2019-11-16 11:34 被阅读0次

建立CD环境

1.确认cmdb_server容器有ssh服务,没有则yum install openssh-server
2.然后进入jenkins_server容器发公钥到cmdb_server
3.jenkins安装Publish over SSH,将jenkins_server的私钥填入

image.png
如果测试不成功,尝试以下操作:
解决办法源于此文档

Publish over SSH 这个插件为旧版本,我们下载的新的openssh-server生成秘钥为新的算法,所以如果要制作“较旧的” OpenSSH格式,请尝试此操作。
或通过使用旧的ssh-keygen进行设置
/usr/bin/ssh-keygen -A
生成系统秘密钥匙

ssh-keygen -t rsa -b 4096 -m PEM

开始构建任务

git设置
构建触发器
执行shell打包
利用ssh传文件
具体配置

主动执行任务后,可在cmdb_server容器中得到一个这样的文件

ls /app/code/
code.tar

基于以上操作

我们可以实现代码的简单更新,也有点类似于发布

我们在本机上写好新功能,提交到gitlab上,jenkins使用webhook拉取到代码,并且通过ssh推送到生产服务器上,生产服务器停服务,备份源代码,拉取新代码,起服务,跑新代码,有问题则回滚,一系列操作自动执行

修改ssh过去之后的操作

bak.sh(可放到工作区下被一起打包过去)

#!/bin/bash
tar -xf /app/code/code.tar  -C /app/code/     #解压tar包
cp -r /opt/auto_cmdb /backup/auto_cmdb-$(date +%F-%X)  #备份原来的代码
rm -rf /opt/auto_cmdb    #删除原来的代码
mv /app/code/auto_cmdb /opt/    #部署新的代码

由于我们起的容器的缘故,cmdb的Dockerfile 写入了 CMD uwsgi --ini /opt/auto_cmdb/conf/uwsgi.ini

image.png
造成无法停止服务,虽然不合生产环境,但是不影响我们运行新的代码
当我们在访问页面时,刷新即可看到相应的改变

相关文章

  • CD-jenkins部署cmdb

    建立CD环境 1.确认cmdb_server容器有ssh服务,没有则yum install openssh-ser...

  • Linux安装部署cmdbuild(非常详细,有手就行)

    安装部署各款CMDB真的是烦了尤其蓝鲸CMDB,因此在这里推荐一款国外的cmdb:cmdbuild,非常容易部署且...

  • 部署CMDB

    环境 简单讲解一下,大概思路。将开发好的项目上传到gitlab,在服务器将项目跑起来,mysql做存储,redis...

  • 自动部署cmdb

    自动部署 利用docker-compose实现对项目的部署 分为五个机器(容器),分别是主项目(cmdb_serv...

  • Go语言开发的灵活管理资源的开源CMDB

    Go语言开发灵活管理资源的开源CMDB 之前开源过一个比较灵活多云的 CMDB,只有没有时间整理部署方式,最近总是...

  • 蓝鲸CMDB部署笔记

    如果你像笔者一样小白,只是想看看蓝鲸CMDB,恰巧又和笔者一样不求甚解,官方文档又看的迷糊,只看这篇笔记就对了。 ...

  • 手工部署cmdb

    手工部署cmdb 1.准备好容器mysql(用来存储数据),python3(主项目的运行环境),redis(实现快...

  • (2)CMDB之 CMDB是啥

    CMDB是什么 CMDB的作用 CMDB是什么 大体上来说,有人说CMDB是自动化运维的基石,CMDB也常常被认为...

  • docker-compose 部署cmdb

    首先需要创建一下目录 redis和rabbitmq只需要到官方docker仓库去找dockerfile就可以在co...

  • 告警管理

    将CMDB系统与Prometheus连接,实现批量部署配置文件,批量管理告警信息等 架构 用户操作场景 实例属主 ...

网友评论

      本文标题:CD-jenkins部署cmdb

      本文链接:https://www.haomeiwen.com/subject/udijictx.html