使用- gitLab 部署项目

部署项目

Posted by GG on March 1, 2018

使用 gitlab-runner CI 部署项目

简介

gitlab-ci全称是gitlab continuous integration的意思,也就是持续集成。

中心思想是当每一次push到gitlab的时候,都会触发一次脚本执行,然后脚本的内容包括了测试,编译,部署等一系列自定义的内容。

本文就是利用gitlab-ci的持续集成来实现自动部署。相比之前webhook的自动部署还是强大以及方便了许多。

原理

自动部署涉及了若干个角色,主要介绍如下

  • GitLab-CI

这个是一套配合GitLab使用的持续集成系统,是GitLab自带的,也就是你装GitLab的那台服务器上就带有的。无需多考虑。.gitlab-ci.yml的脚本解析就由它来负责。

  • GitLab-Runner

这个是脚本执行的承载者,.gitlab-ci.yml的script部分的运行就是由runner来负责的。GitLab-CI浏览过项目里的.gitlab-ci.yml文件之后,根据里面的规则,分配到各个Runner来运行相应的脚本script。这些脚本有的是测试项目用的,有的是部署用的。

  • .gitlab-ci.yml

这个是在git项目的根目录下的一个文件,记录了一系列的阶段和执行规则。GitLab-CI在push后会解析它,根据里面的内容调用runner来运行,添加文件.

步骤

 curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.rpm.sh | sudo bash		<可去掉sudo>
 sudo yum install gitlab-runner
 yum list gitlab-runner --showduplicates | sort -r
 sudo yum install gitlab-runner-10.0.0-1
 sudo gitlab-runner register

安装项目中所需库

执行运行项目()的命令:nohup python3 /opt/learning_log/manage.py runserver &>/dev/null &