欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-16 16:38:28
目录 1.开发工具 2.GitLab服务器搭建 3.新建webapi 4.Dockerfile配置 5.配置docker compose.yml 6.配置.gitlab ci.yml 7.在GitLab上添加一个新项目 8.GitLib Runner安装 9.提交代码到gitlab 10.在GitL ......

目录

2.gitlab服务器搭建

4.dockerfile配置

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

8.gitlib runner安装

10.在gitlab上查看运行状态


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上添加一个新项目

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

8.gitlib runner安装

  • 环境:win10

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

  • 启动:gitlab-runner.exe start

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

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上查看运行状态

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

11.本地运行:http://localhost:8080/api/values

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