Think PHP 5.0 Gitlab CI 简易持续集成环境搭建

  笔者以前为项目搭建了简易的CI环境,出于顾虑到之后可能还会有所需求,特此摘记下搭建的过程以及笔者遇到的一些问题:php

笔者的开发环境

  • PHP 7.0
  • Apache 2.4
  • ThinkPHP 5.0
  • Composer 1.6.5
  • Windows Server 2008 R2 OS
  1. 由于是TP5的项目,例行地在部署服务机上安装ComposerPHP(版本最好在5.6上,最主要是Composer对5.6以上的会更友好)。git

  2. 项目基于.Git版本控制,源码在咱们实验室的GitLab服务器中,因而CI也是基于Gitlab提供的CI(这里不得不说Gitlab对CI是真的友好)。下载Gitlab提供的CI Runner:docker

    这里笔者关于下载安装简单描述下:shell

      首先肯定安装的盘符路径,新建文件夹(笔者命名为Gitlab-Runner),将以前下载好的Runenr安装包放入刚新建的文件夹中并更更名称为__gitlab-runner__,并在此目录下打开命令行(Win+R => cmd),输入: gitlab-runner install,等待安装好后,输入 gitlab-runner status 能够查看 Runner 的状态,输入gitlab-runner start为启动Runner,gitlab-runner stop为中止Runner,gitlab-runner uninstall为卸载Runnerubuntu

      而后须要将Runner与Gitlab的项目关联起来。依旧是在Runner的目录下打开命令行,输入:gitlab-runner register,随后进入进入关联的界面,会依次要求输入:关联的Gitlab服务器地址、项目CI的密匙(见下图指示)、对此Runner的描述(Runner的别名)、此Runner的标签四项。(固然咱们也能够经过在命令后面以参数的形式直接将四项填入)windows

    注册好后,能够经过命令:gitlab-runner verify 检查Runner是否与Gitlab链接上。 若是链接好后,咱们的服务器端基本环境已经基本搭建好了。composer

  3. 当咱们配置好服务端的基本环境后,咱们紧接着须要在源码中插入用来告诉CI咱们持续集成须要执行的任务的脚本文件.gitlab-ci.yml。这个文件就决定了CI会自动为咱们程序执行哪些步骤,例如:自动执行build,unit test之类的,因此这个文件比较重要,咱们最好在本地将所须要的脚本都执行一遍,肯定咱们的项目在构建、部署、测试期间都能正常进行。因为笔者的项目是TP5的项目,采用的是基本的Composer 命令获取依赖包、php的命令构建项目以及tp5的命令执行测试。下面有笔者的脚本文件内容的简易版本。ide

  4. 到这一步,基本上初期咱们的CI已经搭建的差很少了,接下里须要作的,对咱们的脚本内容进行完善,或者是在项目开发成本容许的前提下,使用Docker运行咱们的Runner(笔者这次搭建的是基于 Shell 的运行环境,会比较依赖咱们的系统,对于迁移十分不友好)。gitlab

附:

  • GitLab Runner Commands List

  • 右键在当前目录打开cmd的解决方案之一:

    • 新建一个bat文件,将下列的代码拷贝放入。而后右键选择__管理员身份__运行(Windows 10 能够选择使用 PowerShell 运行)
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere]
@="在此处打开命令提示符"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\shell\OpenCmdHere\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd.exe -ArgumentList '/s,/k, pushd,%V' -Verb RunAs\""

[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmdHere]
@="在此处打开命令窗口"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenCmdHere\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd.exe -ArgumentList '/s,/k, pushd,%V' -Verb RunAs\""

[HKEY_CLASSES_ROOT\Drive\shell\OpenCmdHere]
@="在此处打开命令窗口"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\Drive\shell\OpenCmdHere\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd.exe -ArgumentList '/s,/k, pushd,%V' -Verb RunAs\""

[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\OpenCmdHere]
@="在此处打开命令窗口"
"Icon"="cmd.exe"

[HKEY_CLASSES_ROOT\LibraryFolder\background\shell\OpenCmdHere\command]
@="PowerShell -windowstyle hidden -Command \"Start-Process cmd.exe -ArgumentList '/s,/k, pushd,%V' -Verb RunAs\""
相关文章
相关标签/搜索