您的位置:首页 > 编程语言

Gitlab本地代码,自动发布至正式服务器

2017-12-19 13:56 411 查看

场景描述

1 Git服务器:centos6.5,本地环境内网运行。
2 正式服务器:windows server 2008,阿里云公网运行

业务需求:能够将Git服务器存储的代码,自动发布至正式服务器上。


准备工具

1、Gitlab >=9.0
2、Gitlab-runner
3、powershell
4、花生壳(免费版)


前置条件

1、Gitlab正确配置,并正常运行。
2、Git服务器内网固定IP (如:192.168.0.19)
3、两台服务器都装有Git同版本的客户端。


本教程默认以上工具和前置条件都已经实现。

安装工具

首先当然是先安装准备工具。

1 安装Gitlab (安装教程百度一下,一大把)
2 给windows服务器安装powershell(安装教程百度一下,一大把)
3 给Git服务器安装花生壳(centos版)(安装教程百度一下,一大把)


配置Gitlab

都安装好之后,先来看Gitlab

以我测试的为例,进入到项目列表,然后选择一个要部署的项目

然后选择 Settings->Pipelines,

Gitlab有两种执行Runner的模式:

一种是Specific Runners,该模式只能作用域当前选择的项目。

另一种是Shared Runners,该模式可以作用域所有项目,但是需要root权限才能创建,一般也用不到这个模式。

我们选择Specific模式

提示中的:2和3项的URL和Token,这两个将是配置Runner的关键信息。

配置Runner

现在打开正式服务器,安装Gitlab-runner,安装好之后,要注册刚才的test项目,过程中需要选择True/False的,选择True。

cmd定位到Gitlab-runner根目录,执行 gitlab-runner.exe register 命令,

将URL和Token填好,监听的分支Tag填写master,表示只有当master变动的时候,才触发自动部署。

然后,在项目根目录创建.gitlab-ci.yml文件,写入以下内容,保存至项目根目录

stages:
- build
build:
stage: build
script:
# 打开到项目目录
- cd E:\php\phpStudy\WWW
# 执行pull操作
- git pull origin master
only:
# 只有master分支才执行
- master


测试

在Gitlab上,提交一次合并请求,当合并请求被通过时,看同步是否能完成。如果出现对号符号,则表示Updates已经更新至正式服务器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐