Gitlab Runner实现NetCore自动化持续集成

目录

1.开发工具

2.GitLab服务器搭建

3.新建webapi

4.Dockerfile配置

5.配置docker-compose.yml

6.配置.gitlab-ci.yml

7.在GitLab上添加一个新项目

8.GitLib Runner安装

9.提交代码到gitlab

10.在GitLab上查看运行状态

11.本地访问


> ### 1.开发工具 + VSCode + 插件:C#、Docker

2.GitLab服务器搭建

3.新建webapi

  • dotnet new webapi --name Demo

  • 在Program中修改启动地址:.UseUrls("http://*:80")

4.Dockerfile配置

  • 在VSCode中打开命令面板:Ctrl+Shift+P

  • 输入:ADD Docker Files to Workspace

    • 选择 ASP.Net Core
    • 选择 Linux
    • 80
  • 默认配置可能有问题,修改Dockerfile文件,配置如下

    FROM mcr.microsoft.com/dotnet/core/sdk:2.2 AS build-env
    WORKDIR /app

    # Copy csproj and restore as distinct layers
    COPY *.csproj ./
    RUN dotnet restore

    # Copy everything else and build
    COPY . ./
    RUN dotnet publish -c Release -o out

    # Build runtime image
    FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
    WORKDIR /app
    COPY --from=build-env /app/out .
    EXPOSE 80
    ENTRYPOINT ["dotnet", "Demo.dll"]
  • 确保文件在项目根目录下

5.配置docker-compose.yml

  • 在项目根目录下新建docker-compose.yml文件

  • 添加配置如下,格式非常重要

    version: '3'

    services:
    web:
        build: .
        container_name: aspnetcore
        ports:
        - '8080:80'

6.配置.gitlab-ci.yml

  • 在项目根目录下新建.gitlab-ci.yml文件

  • 添加配置如下

    rtest:
     script:
      - docker-compose up -d --build --force-recreate

7.在GitLab上添加一个新项目

8.GitLib Runner安装

  • 环境:win10

  • 下载地址

  • 注册一个runner

    • 使用Powershell运行:./gitlab-runner.exe register
    • 输入gitlab地址:http://127.0.0.1
    • 输入令牌:在gitlab的项目=>设置=>CI/CD=>Runner中 找到注册令牌
    • 输出描述:test
    • 输入tags:beta
    • 输入excutor方式:shell
  • 安装:gitlab-runner.exe install

  • 启动:gitlab-runner.exe start

9.提交代码到gitlab

  • 每次提交会触发gitlab runner,实现自动化部署

  • git命令如下

    git init
    git remote add origin ssh://地址
    git add .
    git commit -m "Initial commit"
    git push -u origin master

10.在GitLab上查看运行状态

11.本地访问:http://localhost:8080/api/values

原文地址:https://www.cnblogs.com/tianyaguoke/p/11219648.html