背景
随着大数据和互联网的发展,传统的代码提交集成,测试,打包,发布通过传统的人工或者脚本来做,显得非常麻烦显然不满足持续部署,交付提升效率,此时devops应运而生,通过CICD可以大大方便操作,持续集成发布与交付,提升了效率和稳定可靠性。
开发部署流程
- 研发push本地代码到gitlab-server后,webhook自动触发jenkins构建应用
- 在docker宿主机上安装git 拉取gitlab上的代码启动应用
- 数据库连接公用云数据库
- 构建完成之后邮件通知相关人
具体步骤
- 前置需求
- 操作系统centos7.4
- 安装jekins
1. 查看是否安装jdk 1.8 java -version来查看
2. 使用yum 在docker宿主机上安装jekins
2.1 wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
2.2 rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
2.3 yum clean all && yum makecache
2.4 yum -y install jenkins
2.5 启动服务 systemctl start jenkins
2.6 jenkins启动占用的8080端口 需要放开8080对外访问
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
2.7 浏览器访问 http://{宿主机ip}:8080打开jenkins页面此时需要输入密码在宿主机查看 /var/lib/jenkins/secrets/initialAdminPassword 查看默认的登录密码 登录
note:修改默认的登录密码编辑 /var/lib/jenkins/users/admin_7460721745982395512/config.xml
里面的passwd行 之后重启jenkins即可
3.配置docker宿主机目标服务器
3.1 Jenkins上安装插件Publish over SSH
3.2 点开系统设置,配置
Publish over SSH
Passphrase:docker宿主机的密码
key: 私钥 免密时候进行配置的 这个和Passphrase二选其一
3.3 ssh server配置
Name: 输入服务器ip
Hostname: 服务器ip
Username: 用户名 (root)
Remote Directory 远程映射路径这里写需要部署的路径
- 配置邮件通知
- 下载插件 Extended E-mail Notification 这个插件扩展了自带的邮件发送功能可以指定邮件模板和更多的功能
- 系统配置 默认的邮件 E-mail Notification
SMTP server: 邮箱的server地址【如网易 smtp.163.com】
Default user e-mail suffix 邮箱后缀 @163.com
开启SMTP认证
用户名:LCY_ease@163.com
密码: 邮箱授权码
Test e-mail recipient 可以放个邮箱地址去测试发送邮件
- 配置增强版邮件通知 里面有很多这里不再赘述
5.安装docker
- yum -y install docker
- systemctl start docker && systemctl enable docker 设置开机启动
6.安装gitlab
1.yum install -y libsemanage-static libsemanage-devel policycoreutils openssh-server openssh-clients postfix
- wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
- rpm -i gitlab-ce-8.0.0-ce.0.el7.x86_64.rpm
- 修改配置文件 /etc/gitlab/gitlab.rb extend_url填写本服务器的url+port
- gitlab-ctl reconfigure gitlab-ctl restart