使用gitlab-runner在window系统部署GitLab CI 持续集成 .net

 

请支持开源软件:https://gitee.com/bing300/aspfm

目录

摘要

1、Gitlab

2、创建群组及项目

3、找到项目独立的token

4、部署gitlab runner


摘要

现在越来越多的公司使用Gitlab来管理代码。以前都是用Jenkins来做自动编译及部署。现在Gitlab本身自带CI/CD持续集成。

这篇文章是关于CI/CD入门。

1、Gitlab

这是代码管理的基础平台。一般公司都已经安装好了。如果没有,可以自己去下载安装。

2、创建群组及项目

对于Gitlab来说,是通过项目来管理代码的。群组就相当一个项目分类。项目创建好了之后,就会有独立的URL。

在个人电脑安装Git。使用Git clone命令复制代码,然后完成commit,push等操作。在这里不做详细描述。

3、找到项目独立的token

项目界面,左侧菜单,设置---CI/CD,展开“Runner”功能组,找到“手动设置specific Runner”组。

就可以看到Runner指定的URL地址,以及注册令牌(token),例:bzYnp6-39gF7zKqrcbqP

还有最重要的运行器唯一ID号,例:fLYMe3yE,最后编写yml代码时会用到。

4、部署gitlab runner

gitlab runner的window版本,是一个独立的exe文件。

在Gitlab官网可以下载:https://docs.gitlab.com/runner/install/windows.html

下载完成之后,存放在一个文件路径不包含空格、特殊符号的文件夹里。

下载的Gitlab runnber运行程序,名称为:gitlab-runner-windows-amd64.exe

名字太长了,给改短一点:gitlab-runner.exe     放在  D:\zhoubb\GitLab-Runner  目录。

以管理员的方式,打开Windows PowerShell。

cd D:\zhoubb\GitLab-Runner

.\gitlab-runner.exe register

Please enter the gitlab-ci coordinator URL:

这里输入的是步骤3标记的那个地址。

Please enter the gitlab-ci token for this runner:

这里输入的是步骤3标记的token。

Please enter the gitlab-ci description for this runner:

这里输入编译器的描述信息,比如runner服务器名称等。

Please enter the gitlab-ci tags for this runner

runner标记。可以填写多个用,号分隔。非常重要。在CI\CD配置(.gitlab-ci.yml)中,需要指定这个名称。

Please enter the executor

shell

注册runner到系统服务
./gitlab-runner.exe install
使用特定账号注册系统服务
./gitlab-runner.exe install —user ENTER-YOUR-USERNAME —password ENTER-YOUR-PASSWORD
启动runner
./gitlab-runner.exe start

注册完成之后,再通过步骤3,查看token值时,会发现多了一个已运行的运行器。这个运行器的描述里有步骤4输入的runner服务器名称,runner标记等。

5、编写.gitlab-ci.yml

其中sln的地址中,出现了fLYMe3yE,这里运行器的唯一ID,在步骤3的提到。

variables:
  msbuild: "C:\\Program Files (x86)\\MSBuild\\14.0\\Bin\\"

  
stages:
- xxx_正式环境


deploy_正式环境:
  stage: xxx_正式环境
  variables: 
    runnerRootPath: "D:\\zhoubb\\GitLab-Runner"
    sln: "D:\\zhoubb\\GitLab-Runner\\builds\\fLYMe3yE\\0\\xxxx.sln"
  script:
    - $ErrorActionPreference = "Stop" 
    - echo "msbuild mes"
    - $collectionOfArgs = @($sln,"/target:Clean", "/target:Build","/p:Configuration=Debug")
    - cd $msbuild
    - .\msbuild.exe  $collectionOfArgs
    - echo "start Application"
    - $nowdate=Get-Date -Format 'yyyy-MM-dd-hh-mm-ss'
    - $logfile="$runnerRootPath\Console\loger\$nowdate.log"
    - $AutoDeploy=@(“$logfile”)
    - cd $runnerRootPath
    - Start-Process -FilePath ./Console/Console.exe -ArgumentList $AutoDeploy -Wait
    - echo "Application End"
    - echo "Show Log"
    - Get-Content $logfile
  when: manual
  only:
    - master
  tags:
    - bing

 

你可能感兴趣的:(CI/CD持续集成)