目录

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

Gitlab Runner实现NetCore自动化持续集成的更多相关文章

  1. Jmeter(二十八)_Docker+Jmeter+Gitlab+Jenkins+Ant(容器化的接口自动化持续集成平台)

    这套接口自动化持续集成环境已经部署差不多了,现在说说我的设计思路 1:利用Docker容器化Gitlab,Jenkins,Jmeter,Ant,链接如下 Docker_容器化gitlab Docker ...

  2. 使用gitlab构建基于docker的持续集成(三)

    使用gitlab构建基于docker的持续集成(三) gitlab docker aspnetcore 持续集成 构建发布思路: aspnetcore 下的dockerfile编写 发布docker- ...

  3. 自动化测试架构设计 &&自动化持续集成测试任务实战[线性测试、模块驱动测试、数据驱动测试、关键字驱动测试]

    1 为什么设计自动化测试架构 1.1 企业现状分析 压力大:产品需求不明确,上线时间确定,压力山大. 混乱:未立项,开发时间已过半,前期无控制,后期无保障. 疲于应付:开发人员交付的文件质量差,测试跟 ...

  4. 使用gitlab构建基于docker的持续集成(二)

    使用gitlab构建基于docker的持续集成(二) gitlab docker aspnetcore Centos配置gitlab镜像并且启动 Centos配置防火墙 windows上访问gitla ...

  5. flow.ci + Github + Slack 一步步搭建 Python 自动化持续集成

    理想的程序员必须懒惰,永远追随自动化法则.Automating shapes smarter future. 在一个 Python 项目的开发过程中可能会做的事情:编译.手动或自动化测试.部署环境配置 ...

  6. 基于 flow.ci 实现 PHP 项目自动化持续集成

    高效程序员的习惯之一--让开发流程自动化.Automating shapes smarter future. 这是一个关于如何快速实现 PHP 项目自动化持续集成的快速指导.无论你是否使用过持续集成, ...

  7. 3 分钟轻松搭建 Ruby 项目自动化持续集成

    任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式.Automating shapes smarter future. 这是一篇关于 Ruby 项目持续集成的快速指导教程,教大家如何使用 f ...

  8. 8 步搭建 Node.js + MongoDB 项目的自动化持续集成

    任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式.Automating shapes smarter future. 这篇文章中,我们通过创建一个 Node.js + MongoDB 项目 ...

  9. Docker 从入门到放弃(四)Docker+Jenkins_自动化持续集成

    Windows 查看密码 $ cat /var/jenkins_home/secrets/initialAdminPassword 14e14c414f41481aa5955753d3f31f9f 自 ...

随机推荐

  1. 【SQL Server】SQL Server占用CPU使用率100%的解决方法

    原文:[SQL Server]SQL Server占用CPU使用率100%的解决方法 近日,帮一个客户解决了服务器CPU占用率高达100%的问题. 以前做的一个某污水处理厂自控系统项目,客户反映其自控 ...

  2. Windows 10 版本信息

    原文 https://technet.microsoft.com/zh-cn/windows/release-info Windows 10 版本信息 Microsoft 已更新其服务模型. 半年频道 ...

  3. ASP.NET WebForm项目--页面正确返回404及500等状态

    实现方法 项目路径 <system.webServer> <httpErrors errorMode="Custom" > <remove statu ...

  4. Indy9的TIdFTPServer封装类

    在Delphi 7开发下有强大的Indy控件,版本为9,要实现一个FTP服务器,参考自带的例子,发现还要写很多函数,而且不支持中文显示文件列表等等.于是,自己改进封装了下,形成一个TFTPServer ...

  5. U盘免疫

    界面如下: 关键部分代码如下: void CImmunityUDlg::OnBnClickedButtonOk() { // TODO: 在此添加控件通知处理程序代码 TCHAR szPath[MAX ...

  6. Hadoop集群(第3期)机器信息分布表

    1.分布式环境搭建 采用4台安装Linux环境的机器来构建一个小规模的分布式集群. 图1 集群的架构 其中有一台机器是Master节点,即名称节点,另外三台是Slaver节点,即数据节点.这四台机器彼 ...

  7. Ajax中post与get的区别

    get和post都是向服务器发送一种请求,只是发送机制不同 . 1. GET可以通过在请求URL上添加请求参数, 而POST请求则是作为HTTP消息的实体内容发送给WEB服务器. 2. get方式请求 ...

  8. abp(net core)+easyui+efcore仓储系统——创建应用服务(五)

    abp(net core)+easyui+efcore仓储系统目录 abp(net core)+easyui+efcore仓储系统——ABP总体介绍(一) abp(net core)+easyui+e ...

  9. 基于 Roslyn 实现动态编译

    基于 Roslyn 实现动态编译 Intro 之前做的一个数据库小工具可以支持根据 Model 代码文件生成创建表的 sql 语句,原来是基于 CodeDom 实现的,最近改成使用基于 Roslyn ...

  10. 从0到1构建网易云信IM私有化

    本文来源于MOT技术管理课堂杭州站演讲实录,全文 2410 字,阅读约需 5分钟.网易云信资深研发工程师张翱从私有化面临的问题及需求说起,分享了网易云信IM私有化的解决方案和具体实践. 想要阅读更多技 ...