目录

一.DevOps简介

1.什么是持续集成(CI-Continuous integration)

2.什么是持续部署(CD-continuous deployment)

3.什么是持续交付(Continuous Delivery)

二.GitLLab安装与应用【yum安装】

1.安装前准备

2.先安装依赖包

3.装包(注意版本自定义)

4.gitlab相关的目录

5.修改配置并初始化及验证

6.常用命令及例子

三.GitLab容器安装

1.防火墙、SELinux

2.修改sshd默认端口

3.准备容器环境

4.创建数据目录

5.启动容器

四.GitLab网页操作

1.用浏览器访问GitLab页面,

2.配置GitLab

五.客户端测试

1.查看仓库地址

2.客户端使用密码管理GitLab项目

3.SSH免密上传

1)客户端生成SSH密钥

2)使用用户登录GitLab

3)上传密钥

4)使用密钥管理GitLab项目

5)上传静态页面代码测试

六.yum部署Jenkins

1.设置防火墙和SELinux

2.安装依赖软件

3.部署、初始化Jenkins

4.管理Jenkins插件、系统配置

七docker安装jenkins

1.安装Jenkins

2.起容器准备

3.安装

4.配置Jenkins

5.安装插件

八.Jenkins项目管理

1.浏览器访问

2.构建(build)Jenkins项目

3.查看Jenkins拉取的代码数据

4.修改项目配置

九.构建分发服务器

1.安装、配置FTP共享服务器

2.修改GitLab项目配置

十.自动化上线

1.安装配置httpd;编写上线脚本;完成整个工作流程

2.编写自动化上线脚本


完成整理工作流程:

开发人员编写代码,将代码上传到GitLab服务器,Jenkins从GitLab服务器上面拉取最新代码数据到本地,根据Jenkins项目配置,将代码拉取到本地后,可以进行编译、测试、打包等工作,最后将数据包写入到共享服务器,应用服务器最后从共享服务器拉取数据实现上线功能。

一.DevOps简介

1.什么是持续集成(CI-Continuous integration)

持续集成是指多名开发者在开发不同功能代码的过程当中,可以频繁的将代码行合并到一起并切相互不影响工作

2.什么是持续部署(CD-continuous deployment)

是基于某种工具或平台实现代码自动化的构建、测试和部署到线上环境以实现交付高质量的产品,持续部署在某种程度上代表了一个开发团队的更新迭代速率

3.什么是持续交付(Continuous Delivery)

持续交付是在持续部署的基础之上,将产品交付到线上环境,因此持续交付是产品价值的一种交付,是产品价值的一种盈利的实现。

开发自己上传–最原始的方案 开发给运维手动上传–运维自己手动部署 运维使用脚本复制–半自动化 结合web界面一键部署–自动化

二.GitLLab安装与应用【yum安装】

1.安装前准备

# 防火墙与selinux设置
~]# firewall-cmd --set-default-zone=trusted
~]# setenforce 0
~]# sed -i '/SELINUX/s/enforcing/permissive' /etc/selinux/config
​
## 修改sshd端口
# 因为git是通过SSH协议的形式访问的,需要占22端口,而sshd服务也需要占22端口,所以需修改sshd服务端口
~]# vim /etc/ssh/sshd_config
Port 36000
~]# service sshd restart
# 注还需要准备443,80端口

2.先安装依赖包

~]# yum install -y  vim gcc gcc-c++ wget net-tools lrzsz iotop lsof iotop bash-completion
~]# yum install -y curl policycoreutils openssh-server openssh-clients postfix

3.装包(注意版本自定义)

~]# wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.0-ce.0.el7.x86_64.rpm
~]# yum -y install gitlab-ce*
安装包官方下载地址:https://packages.gitlab.com/gitlab/gitlab-ce
yum源清华大学下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
​
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/

4.gitlab相关的目录

/etc/gitlab #配置文件目录
/run/gitlab #运行pid目录
/opt/gitlab #安装目录
/var/opt/gitlab #数据目录
/var/log/gitlab #日志目录

5.修改配置并初始化及验证

~]# vim /etc/gitlab/gitlab.rb
external_url 'http://10.0.0.100'  #修 改此行
# 增加下面行,可选邮件通知设置
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "29308620@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails['gitlab_email_from'] = "29308620@qq.com"

初始化服务 执行配置并启动服务:

#修改完配置文件要执行此操作
gitlab-ctl  reconfigure

验证gitlab启动完成

gitlab-ctl statusrun: gitaly: (pid 24753) 245s; run: log: (pid 24378) 310srun: gitlab-monitor: (pid 24824) 244s; run: log: (pid 24595) 283srun: gitlab-workhorse: (pid 24776) 245s; run: log: (pid 24448) 304srun: logrotate: (pid 24531) 296s; run: log: (pid 24530) 296srun: nginx: (pid 24472) 302s; run: log: (pid 24471) 302srun: node-exporter: (pid 24574) 290s; run: log: (pid 24573) 290srun: postgres-exporter: (pid 24847) 243s; run: log: (pid 24662) 275srun: postgresql: (pid 24204) 365s; run: log: (pid 24203) 365srun: prometheus: (pid 24832) 244s; run: log: (pid 24625) 281srun: redis: (pid 24144) 371s; run: log: (pid 24143) 371srun: redis-exporter: (pid 24610) 282s; run: log: (pid 24609) 282srun: sidekiq: (pid 24362) 312s; run: log: (pid 24361) 312srun: unicorn: (pid 24722) 250s; run: log: (pid 24322) 314s

6.常用命令及例子

gitlab-rails #用于启动控制台进行特殊操作,如修改管理员密码、打开数据库控制台( gitlab-rails dbconsole)等
gitlab-psql #数据库命令行
gitlab-rake #数据备份恢复等数据操作gitlab-ctl  #客户端命令行操作行
gitlab-ctl stop #停止gitlab
gitlab-ctl start #启动gitlab
gitlab-ctl restar #重启gitlab
gitlab-ctl  status #查看组件运行状态
gitlab-ctl  tail nginx #查看某个组件的日志

首次登录web页面,必须先设置密码,密码要求最少8位

三.GitLab容器安装

1.防火墙、SELinux

~]# firewall-cmd --set-default-zone=trusted
~]# setenforce 0
~]# sed -i '/SELINUX/s/enforcing/permissive/'  /etc/ssh/sshd_config

2.修改sshd默认端口

因为Git是通过SSH协议形式访问,后面需要启动GitLab容器,该容器需要占用22端口,而电脑的sshd服务也需要占用22端口(端口冲突),所以需要提前修改sshd默认端口,将端口修改为2022

~]# vim /etc/ssh/sshd_config
Port 2022
~]# systemctl restart sshd~]# ssh -p 2022  192.168.4.20 (-p 可以放后面) #远程测试

注意:修改后需要重新登录一次虚拟机(重新登录需要指定端口)。

3.准备容器环境

# 准备yum源安装docker
~]# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
~]# yum clean all && yum repolist && yum makecache
## 安装依赖
~]# yum install -y  vim gcc gcc-c++ wget net-tools lrzsz iotop lsof iotop bash-completion
~]# yum install -y curl policycoreutils openssh-server openssh-clients postfix
# 安装docker
~]# yum install -y docker-ce
~]# systemctl enable docker.service --now
此操作联网:~]# docker search gitlab-ce #查找
~]# docker pull gitlab/gitlab-ce # 下载镜像

4.创建数据目录

容器无法持久保存数据,需要将真机目录和容器目录绑定,实现数据永久保存

~]# mkdir -p /srv/gitlab/{config,logs,data}
~]# ls /etc/resolv.conf # 必须要有该文件,默认linux有

5.启动容器

~]# docker run -d -h gitlab --name gitlab -p 443:443 -p 80:80 -p 22:22 --restart=always -v /data/gitlab/config:/etc/gitlab -v /data/gitlab/logs:/var/log/gitlab -v /data/gitlab/data:/var/opt/gitlab twang2218/gitlab-ce-zh# run 起容器
# -d 放入后台
# -h是在容器内的主机名
# --name 起一个容器名
# -p 映射端口
# --restart=always #(表示此容器自动开启【关不了gitlab】)
# -v 映射文件# 密码查看(可忽略)
~]# docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password

四.GitLab网页操作

1.用浏览器访问GitLab页面,

http://172.17.64.9

初始化登录密码(用户root/密码如上,或自己修改)

首次登录web页面,必须先设置密码,密码要求最少8位

2.配置GitLab

1)创建用户

添加密码

测试登录

2)创建组

将用户加入到组

3)创建项目(类似于创建一个仓库)

五.客户端测试

1.查看仓库地址

2.客户端使用密码管理GitLab项目

~]# yum -y install git
# 配置hosts
~]# vim /etc/hosts
172.17.0.51 gitlab## 使用刚刚创建的用户
~]# git config --global user.name "kali"
~]# git config --global user.email "20236305@qq.com"
# 或者使用管理员
~]# git config --global user.name "Administrator"
~]# git config --global user.email "admin@example.com"
~]# git clone http://gitlab/devops/myproject.git# 示例
~]# cd myproject
~]# touch README.md
~]# git add README.md
~]# git commit -m "add README"
~]# git push -u origin master
Username for 'http://192.168.4.20': keke    #这里输入用户名
Password for 'http://jerry@192.168.4.20':  123456789  #这里输入密码

3.SSH免密上传

1)客户端生成SSH密钥

在客户端操作

~]# rm -rf /root/.ssh/known_hosts  #删除之前的ssh远程记录
~]# ssh-keygen                   #生成ssh密钥文件
~]# cat ~/.ssh/id_rsa.pub       # 查看密钥文件
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDPVwP8E7TtKha9H8Ec+CU2n19aIPo9sUa/pdM7gRaf0yG+BcdyQ7Hgi6pI51IhX6tat46L5tLkAY7urVeEmnPtUk/TVIUc0smJPXYKIggOCr2dDd9s1S0

2)使用用户登录GitLab

页面用户第一次登录页面需要重置一次密码,密码可以与旧密码相同

3)上传密钥

4)使用密钥管理GitLab项目

前面已经用http的方式访问过服务器的代码仓库了,这里把之前的http服务器信息删除,使用ssh协议访问(在客户端操作)

~]# cd /root/myproject
~]# git remote -v
origin  http://gitlab/devops/myproject.git (fetch)
origin  http://gitlab/devops/myproject.git (push)# 删除
~]# git remote remove origin# 添加
~]# git remote add  origin git@gitlab:devops/myproject.git# 查看测试
~]# git remote -v
origin  git@gitlab:devops/myproject.git (fetch)
origin  git@gitlab:devops/myproject.git (push)

5)上传静态页面代码测试

~]# echo "hello world" >  README.md
~]# git add .
~]# git commit -m "update"
~]# git push -u origin master## 导入一个项目测试(可以到github)
~]# dnf  -y  install   unzip tar
~]# unzip  www_template.zip
~]# cp -r www_template/*   myproject/
~]# cd  myproject/
~]# git add .
~]# git commit -m  "web site"
~]# git push -u origin master
~]# git tag  v1   # 打个标签
~]# git push -u origin v1

查看定义的标签

六.yum部署Jenkins

1.设置防火墙和SELinux

~]# firewall-cmd --set-default-zone=trusted
~]# setenforce 0
~]# sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config

2.安装依赖软件

网页下载Index of /jenkins/redhat-stable/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

~]# rz -be [包]
~]# dnf -y install git postfix mailx java-11-openjdk
~]# systemctl enable postfix --now

备注:Git(版本控制软件)、postfix(邮件服务器软件(发))、mailx(邮件客户端软件(收))、openjdk(Java JDK工具)

3.部署、初始化Jenkins

http://172.17.64.16:8080/login?

~]# dnf -y install ./jenkins-2.164.3-1.1.noarch.rpm
~]# systemctl enable jenkins
~]# systemctl start jenkins

第一次访问会提示初始密码的位置(密码在/var/lib/Jenkins/secrets/initialAdminPassword文件中)

~]# cat /var/lib/jenkins/secrets/initialAdminPassword
9424973edc06471aa268bb35c68f95cd

这里选择跳过不安装插件

可以选择不创建用户

4.管理Jenkins插件、系统配置

1)重置管理员密码。

使用新密码重新登录

2)插件管理。 查看插件列表

3)拷贝插件文件到Jenkins目录,Jenkins插件目录为插件目录:/var/lib/jenkins/plugins/。

Jenkins插件文件在目录:jenkins_plugins.tar.gz。

插件包含:中文插件、Git插件等。

官网Jenkins Plugins

可以到官网上下载插件包在拷贝到/var/lib/jenkins/plugins/

Apache HttpComponents Client 4.x API Plugin
Command Agent Launcher Plugin
Credentials Plugin
Display URL API
Git client plugin
Git Parameter (Plug-In)
Git plugin
Trilead API Plugin
Structs Plugin
SSH Credentials Plugin
Script Security Plugin
SCM API Plugin
Mailer Plugin
Localization: Chinese (Simplified)
Localization Support Plugin
JSch dependency plugin
JUnit Plugin(Junit SQL Storage Plugin)
jQuery plugin
JAXB plugin
Oracle Java SE Development Kit Installer Plugin
Pipeline: Step API
Pipeline: SCM Step
Pipeline: API
# 注意下载插件得时候要注意是否有依赖得插件一起安装了(害得我还一直找包)
~]# cp -rp jenkins_plugins/*   /var/lib/jenkins/plugins/
~]# chown jenkins.jenkins /var/lib/jenkins/plugins/
~]# systemctl restart jenkins
# 注意文件权限

有网的情况下也可以直接安装

如果在搜索区找不到时,记得查看安装了的,有个时候会当依赖安装掉

重新登录Jenkins网页控制台

4)再次查看插件列表

5)调整系统设置,配置邮箱(测试的话可以不配置)

七docker安装jenkins

1.安装Jenkins

下载Jenkins,lts代表最新版

# 准备yum源安装docker
~]# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
~]# yum clean all && yum repolist && yum makecache
## 安装依赖
~]# yum install -y  vim gcc gcc-c++ wget net-tools lrzsz iotop lsof iotop bash-completion
~]# yum install -y curl policycoreutils openssh-server openssh-clients postfix
# 安装docker
~]# yum install -y docker-ce
~]# systemctl enable docker.service --now
# 下载镜像
~]# docker pull jenkins/jenkins:lts
# 查看Jenkins镜像
~]# docker images
~]# docker inspect jenkins镜像ID

2.起容器准备

# 创建一个Jenkins目录,用于容器内目录挂载宿主机
~]# mkdir /data/jenkins_home
~]# chown -R 1000:1000 /data/jenkins_home

3.安装

# 安装启动Jenkins容器
~]# docker run -d --name jenkins -p 8080:8080 -v /data/jenkins_home:/var/jenkins_home jenkins/jenkins:lts;
备注:
-d # 启动在后台
--name # 容器名字
-p # 端口映射(8081:宿主机端口,8080:容器内部端口)
-v # 数据卷挂载映射(/data/jenkins_home:宿主机目录,/var/jenkins_home:容器目录)
jenkins/jenkins:lts # 镜像
# 查看Jenkins启动情况
~]# docker ps | grep jenkins

云服务器8080端口要开启 因为本操作是在腾讯云ELB上进行安装的,需要在安全组里开放8080此端口,咱自己用,最好还是指定下IP访问Jenkins http://腾讯IP:8081

4.配置Jenkins

解锁

在安装完成后,默认生成了一个登录密码,首次登录需要这个密码。 密码容器内路径:var/jenkins_home/secrets/initialAdminPassword 但是我们不是之前在宿主机挂载过目录吗,直接在宿主机就可以查看密码了 查看密码:然后复制粘贴即可

~]# cat /data/jenkins_home/secrets/initialAdminPassword

5.安装插件

推荐直接点左边的推荐插件,看网速吧,慢的话半小时,但是至少是全的,省事

管理用户创建 创建一个管理员账户,相当于admin

配置完成

八.Jenkins项目管理

1.浏览器访问

Jenkins服务器8080端口。

默认Jenkins会拉取最新版本的代码,这里的设置可以让Jenkins拉取特定的分支或标签(tag)的代码

继续设置Git参数,定义Git仓库的URL路径,以及需要下载克隆的版本或分支

注:指定分支必须与上图git参数一样

如果是git init创建的git则需要在添加那输入用户与密钥

2.构建(build)Jenkins项目

首先需要找到刚刚常见的项目

​​​​​​​

查看是否正确

查看操作

3.查看Jenkins拉取的代码数据

默认Jenkins会加拉取的代码数据保存到/var/lib/Jenkins/workspace/目录

# 注意需一层一层看
~]# ls /var/lib/jenkins/
~]# ls /var/lib/jenkins/workspace/
~]# ls /var/lib/jenkins/workspace/myweb/
# 如果此时拉取代码可以发现位置还是这,并且会覆盖
~]# rm -rf /var/lib/jenkins/workspace/myweb/*## 容器查看
~]# ls /data/jenkins_home/workspace/myweb

4.修改项目配置

如果代码有多个版本或分支,每次都将代码拉取到相同位置,会产生数据覆盖,我们可以修改项目配置,将不同的版本和分支数据保存到不同子目录下。 点击《配置》,重新修改Jenkins项目配置

1)为Jenkins项目添加附加动作行为,将代码拉取输出到子目录(Check out to a sub-directory)

2)设置邮件通知,在构建失败时可以给特定人员发送邮件(测试的话可以不配置)

英文配置

3)再次构建项目,并查看数据。 重新构建项目

# 这里就以容器为示例
# 先删除
~]# rm -rf /data/jenkins_home/workspace/myweb/*

然后拉取

# 最后查看
~]# ls myweb-v1

九.构建分发服务器

1.安装、配置FTP共享服务器

1)设置防火墙、SELinux

~]# firewall-cmd --set-default-zone=trusted
~]# setenforce 0
~]# sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config
  1. 安装配置vsftpd、启动服务

~]# dnf  -y   install   vsftpd   #安装软件
~]# vim /etc/vsftpd/vsftpd.conf  #修改vsftpd配置文件
anonymous_enable=YES              #允许匿名访问ftp8.2版本激活ftp要到配置文件里面
~]# mkdir -p /var/ftp/deploy/packages
~]# chown -R :jenkins /var/ftp/deploy/
#修改权限将目录所属组修改为jenkins
~]# chmod -R 775 /var/ftp/deploy/
#修改权限让jenkins组对该目录有读写权限
~]# systemctl enable vsftpd --now
#设置服务为开机自启动服务,并立刻启动该服务

2.修改GitLab项目配置

1)修改项目配置,添加构建步骤

2)编写构建脚本,脚本内容如下

###########
# 要求是搭建一个ftp然后把代码拷贝到这个ftp文件中
###########
## 如果是服务器的搭建的就可以这么写
pkg_dir=/var/ftp/deploy/packages
#定义变量pkg_dir,变量值为ftp共享目录。
cp -r myweb-$web $pkg_dir
#将jenkins拉取到/var/lib/Jenkins/workspace/myweb-$web目录的数据拷贝的ftp共享目录
rm -rf $pkg_dir/myweb-$web/.git
#上一步拷贝过来的数据目录下包含一个隐藏.git目录,删除该git仓库目录
cd $pkg_dir/
#cd到ftp共享目录下
tar czf myweb-$web.tar.gz myweb-$web
#将ftp共享目录下的代码数据打包
rm -rf myweb-$web
#将ftp共享目录下的代码数据目录删除
md5sum myweb-$web.tar.gz | awk '{print $1}' > myweb-$web.tar.gz.md5
#校验打包文件的HASH值(哈希值),并将结果写入到一个文件中。
cd ..
#返回上一级目录
echo -n $web > ver.txt
#将当前Git版本信息写入ver.txt文件
## 容器的写法
# 1.在本地书写脚本
~]# vim ceshi.sh
#!/bin/bash
rm -rf myweb-$web/.git
tar czf $web.tar.gz myweb-$web
rm -rf myweb-$web
md5sum $web.tar.gz | awk '{print $1}' > $web.tar.gz.md5
echo -n $web > ver.txt
# 2.上传容器并查看
~]# docker cp ceshi.sh 29:./
~]# docker exec -it 29 cat /ceshi.sh
# 3.执行如下操作3)
# 4.书写脚本执行项目拉取
~]# vim ceshi2.sh
#!/bin/bash
pkg_dir=/var/ftp/deploy/packages
web_dir=/data/jenkins_home/workspace/myweb
mv $web_dir/* $pkg_dir/

3)重新构建项目,查看数据

使用浏览器访问FTP服务,查看数据

十.自动化上线

1.安装配置httpd;编写上线脚本;完成整个工作流程

1)设置防火墙和SELinux

~]# firewall-cmd --set-default-zone=trusted
~]# setenforce 0
~]# sed -i '/SELINUX/s/enforcing/permissive/' /etc/selinux/config

2)安装、配置httpd。

~]# dnf  -y  install   httpd  wget   tar        #安装httpd、tar和wget
~]# systemctl  enable  httpd   --now     #设置开启自启,并立刻启动

2.编写自动化上线脚本

~]# vim web.sh
#!/bin/bash
#定义变量,指定FTP共享路径
ftp_url=ftp://192.168.4.30/deploy
#定义变量,指定网页根路径
web_dir=/var/www/html
#定义函数,行数名为down_file,该函数的作用是从FTP服务器下载代码数据到网站根目录
down_file(){
#获取FTP服务器上面最新构建的代码版本号
#curl是基于命令行的浏览器,-s选项为静默访问,不显示下载过程(可以自己对比不是用-s的差异)version=$(curl -s $ftp_url/ver.txt)   # -s静默模式不显示
#将服务器上面的版本文件下载到web服务器的/var/www/html/目录下
#wget为下载工具(如果没有则需要安装),-q选项为静默模式下载,不显示下载过程
#-O选项可以指定将文件下载到哪里,这里是下载到/var/www/html/ver.txtwget -q $ftp_url/ver.txt -O $web_dir/ver.txt
#下载代码数据的打包文件,根据前面获取的版本号,下载对应的版本数据打包文件wget -q $ftp_url/packages/myweb-$version.tar.gz -O $web_dir/myweb-$version.tar.gz
#对下载下来的数据打包文件计算HASH值(哈希值),awk过滤仅显示第一列数据结果hash=$(md5sum $web_dir/myweb-$version.tar.gz| awk '{print $1}')
#使用curl访问ftp服务器上面的HASH值ftp_hash=$(curl -s $ftp_url/packages/myweb-$version.tar.gz.md5)
#对比本地和FTP服务的HASH值是否一致,如果不一致代表数据损坏了
#如果一致就可以解压该数据包,将数据解压到网站根目录下/var/www/html/if [ "$hash" == "$ftp_hash" ];thentar -xf $web_dir/myweb-$version.tar.gz -C $web_dirfi
}#判断如果本地没有/var/www/html/ver.txt文件,则直接调用前面的函数下载代码数据
if [ ! -f $web_dir/ver.txt ];thendown_file
fi
#盘如果本地有/var/www/html/ver.txt文件,则判断本地版本文件和FTP版本文件是否一致
#一致就不再下载FTP的数据,如果不一致则调用前面的函数下载新的代码数据包
if [ -f $web_dir/ver.txt ];thenftp_ver=$(curl -s $ftp_url/ver.txt)local_ver=$(cat $web_dir/ver.txt)if [ "$ftp_ver" != "$local_ver" ];thendown_filefi
fi
~]# chmod +x  web.sh                #添加可执行权限
~]# ./web.sh                         #执行脚本

安装GitLab,Jenkins,及自动化上线相关推荐

  1. 使用Docker安装Gitlab,Jenkins,Tomcat搭建流水线项目环境,实现DevOps自动化步骤,很详细

    使用Docker安装Gitlab,Jenkins,Tomcat搭建流水线项目,实现DevOps自动化 写在前头,入职公司不久,发现公司都是用的Jenkins来实现自动化项目部署,十分方便,但作为底层开 ...

  2. 搭建GitLab+Jenkins持续集成环境图文教程

    GitLab是一个代码仓库,用来管理代码.Jenkins是一个自动化服务器,可以运行各种自动化构建.测试或部署任务.所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以一定频率 ...

  3. centos7 安装Gitlab

    简介: GitLab是一个代码仓库,用来管理代码.Jenkins是一个自动化服务器,可以运行各种自动化构建.测试或部署任务.所以这两者结合起来,就可以实现开发者提交代码到GitLab,Jenkins以 ...

  4. 基于Gitlab Jenkins Docker集群 微服务搭建自动化部署平台

    随着公司应用系统的不断增多,原有手工部署流程越来越不满足上线的需求.为了各个系统能快速迭代与测试,减少上线流程时间和人为出错,迫切需要一套自动化部署系统. 转载原文:https://luoji.liv ...

  5. gitlab与jenkins的自动化部署(通过webhook与ansible)

    gitlab与jenkins的自动化部署(通过webhook与ansilble) 1.部署介绍 gitlab服务器:192.168.1.49:80 jenkins服务器:192.168.1.49:81 ...

  6. SpringCloud+Docker+Jenkins+GitLab+Maven实现自动化构建与部署实战

    作者:寅务 www.jianshu.com/p/bdb0642b7495 1.前言与初衷 本文章会涉及Docker常见命令基础知识点结合不同场景实操一起使用. 本文章会涉及结合工作过程中部署不同环境服 ...

  7. Gitlab+jenkins持续集成+自动化部署(三)

    搭建gitlab+Jenkins自动化部署 在jenkins上安装插件 Build Authorization Token Root Plugin. Build Authorization Token ...

  8. 基于gitlab和jenkins的自动化部署实例

    gitlab+jenkins服务简述: GitLab是一个代码仓库,用来管理代码.Jenkins是一个自动化服务器,可以运行各种自动化构建.测试或部署任务. 所以这两者结合起来,就可以实现开发者提交代 ...

  9. gitlab+jenkins自动化打包APK

    前置条件: 环境搭建,jenkins需要的插件看这里: gitlab+jenkins自动化打包IOS 配置思路: step1: 搭建sdk,gradle运行环境,参照: CentOS7下安装安装and ...

最新文章

  1. 为Visual Studio添加配色方案
  2. elastaticsearch 5.1.2 x-pack 设置权限访问
  3. html多窗口排列顺序,多窗口页面(Frames)
  4. 图形化代码阅读工具——Scitools Understand
  5. HTML5的可视化开发工具Maqetta Designer
  6. Windows Mobile Widget Emulator
  7. TensorFlow 基础
  8. android系统密码文件夹,安卓手机如何隐藏(加密)文件夹(软件) 安卓手机隐藏(加密)文件夹(软件)的方法...
  9. 大学计算机python基础课件,大学计算机python基础课件2015lecture03.pdf
  10. M-TOUCH移动端社区论坛类型的网站源码
  11. 技术栈(technology stack)
  12. 家谱文化④:江苏百岁老人多达8375人,健康长寿的秘密都写在家谱
  13. Homestead 安装 phpMyAdmin 作为数据库管理客户端 — Laravel 实战 果酱 API 教程
  14. vscode-tab按键失效变为切换控件解决
  15. 「数字化转型」数字化转型的12个步骤
  16. c# ffmpeg视频转换
  17. 修然气灶m wdnow.php,茂名燃气灶安装维修免费上门
  18. 抽签小程序(C语言随机数),随机数生成器
  19. 手把手教你写复制U盘文件神器(一)
  20. GET请求的长度限制

热门文章

  1. 如何高效地阅读文献?
  2. matlab 2014 破解使用
  3. OpenCV Harris 角点检测子
  4. Day 15:Meteor —— 从零开始创建一个 Web 应用
  5. 鸟哥的Linux私房菜(基础篇)- 第八章、Linux 磁盘与文件系统管理
  6. fileinput模块可以循环一个或多个文本文件的内容
  7. Java使用PDFBox开发包实现对PDF文档内容编辑与保存
  8. 点是否在面内算法(Point-In-Polygon Algorithm)
  9. Exchange2007 系列一:Exchange2007安装
  10. vue3.0 视频播放插件(vue-vedio-player)