持续集成之Jenkins+Gitlab简介 [一]
标签(空格分隔): Jenkins
持续集成概念
持续集成Continuous Integration
持续交付Continuous Delivery
持续部署Continuous Deployment
1.1 什么是持续集成:
持续集成是指开发者在代码的开发过程中,可以频繁的将代码部署集成到主干,并进程自动化测试
1.3 什么是持续交付:
持续交付指的是在持续集成的环境基础之上,将代码部署到预生产环境
1.4 持续部署:
在持续交付的基础上,把部署到生产环境的过程自动化,持续部署和持续交付的区别就是最终部署到生产环境是自动化的。
1.5 部署代码上线流程
1.代码获取(直接了拉取)
2.编译 (可选)
3.配置文件放进去
4.打包
5.scp到目标服务器
6.将目标服务器移除集群
7.解压并放置到Webroot
8.Scp 差异文件
9.重启 (可选)
10.测试
11.加入集群
运维必知OWASP
Jenkins上OWASP 插件介绍: 它是开放式Web应用程序安全项目[OWASP,Open Web Application Secunity Project
]
它每年会出一个top10的安全漏洞,我们需要知道当前top10的漏洞有哪些
https://www.owasp.org/images/5/57/OWASP_Proactive_Controls_2.pdf
https://www.owasp.org/index.php/Top_10_2013-Top_10
Gitlab介绍
GitLab是一个利用 Ruby on Rails
开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。
GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
环境准备
[root@linux-node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@linux-node1 ~]# uname -r
3.10.0-514.2.2.el7.x86_64
下载epel源
[root@linux-node1 ~]# wget http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
[root@linux-node1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
关闭 NetworkManager 和防火墙
[root@linux-node1 ~]#systemctl stop firewalld.service
systemctl disable firewalld
systemctl disable NetworkManager
关闭SELinux并确认处于关闭状态
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
grep SELINUX=disabled /etc/selinux/config
setenforce 0
更新系统并重启
[root@linux-node1 ~]# yum update -y && reboot
我们一共有2台:192.168.56.11
和192.168.56.12
我们安装在192.168.56.11上
[root@linux-node1 /]# yum install curl policycoreutils openssh-server openssh-clients postfix -y
[root@linux-node1 /]# systemctl start postfix
[root@linux-node1 /]# curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
[root@linux-node1 /]# yum install -y gitlab-ce
#由于网络问题,国内用户,建议使用清华大学的镜像源进行安装
[root@linux-node1 ~]# cat /etc/yum.repos.d/gitlab-ce.repo
[gitlab-ce]
name=gitlab-ce
baseurl=http://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7
repo_gpgcheck=0
gpgcheck=0
enabled=1
gpgkey=https://packages.gitlab.com/gpg.key
[root@linux-node1 ~]# yum makecache
[root@linux-node1 /]# yum install -y gitlab-ce
在安装一个git客户端
[root@linux-node1 /]# yum install -y git
配置并启动gitlab-ce
[root@linux-node1 ~]# gitlab-ctl reconfigure