摘要:背景 Gitlab Runner启动的容器是临时容器,构建任务完成后容器立即销毁了。哪怕任务是失败的,调试起来很费劲。需要一个工具,来直接查看docker image的文件结构。 安装 推荐官方介绍的做法: DIVE_VERSION=$(curl -sL "https://api.github.co
阅读全文
随笔分类 - CI/CD
Gitlab自动打包和发布.NET模块和网站
摘要:简介 Gitlab Runner作业打包了C#项目,推送到NuGet仓库之后,立即触发下游项目的编译。在下游作业里,经常会提示找不到上游项目推送到NuGet仓库的包。当您只有1个Gitlab Runner实例的时候,几乎碰不到这个问题,如果您有多个Gitlab Runner实例,几乎一步一个坑。最终
阅读全文
摘要:简介 Gitlab Runner在Windows上运行之后,我们在.gitlab-ci.yml中编写script语句,思路和Linux是一样。但是考虑到Windows的特点,为了让程序员少接触一些知识点,以及给未来执行作业的时候预留更多的操作空间。简单说就是未来修改执行作业时候的逻辑,但是每个软件仓
阅读全文
摘要:简介 Gitlab Runner在Windows上运行之后,我们在.gitlab-ci.yml中编写script语句,思路和Linux是一样。但是考虑到Windows的特点,为了让程序员少接触一些知识点,以及给未来执行作业的时候预留更多的操作空间。简单说就是未来修改执行作业时候的逻辑,但是每个软件仓
阅读全文
摘要:简介 Gitlab Runner在Windows上运行之后,我们在.gitlab-ci.yml中编写script语句,思路和Linux是一样。但是考虑到Windows的特点,为了让程序员少接触一些知识点,以及给未来执行作业的时候预留更多的操作空间。简单说就是未来修改执行作业时候的逻辑,但是每个软件仓
阅读全文
摘要:简介 Gitlab Runner在Windows上运行之后,我们在.gitlab-ci.yml中编写script语句,思路和Linux是一样。但是考虑到Windows的特点,为了让程序员少接触一些知识点,以及给未来执行作业的时候预留更多的操作空间。简单说就是未来修改执行作业时候的逻辑,但是每个软件仓
阅读全文
摘要:简介 Gitlab Runner在Windows上运行之后,我们在.gitlab-ci.yml中编写script语句,思路和Linux是一样。但是考虑到Windows的特点,为了让程序员少接触一些知识点,以及给未来执行作业的时候预留更多的操作空间。简单说就是未来修改执行作业时候的逻辑,但是每个软件仓
阅读全文
摘要:简介 Gitlab Runner在Windows上运行之后,我们在.gitlab-ci.yml中编写script语句,思路和Linux是一样。但是考虑到Windows的特点,为了让程序员少接触一些知识点,以及给未来执行作业的时候预留更多的操作空间。简单说就是未来修改执行作业时候的逻辑,但是每个软件仓
阅读全文
摘要:简介 Gitlab Runner在Windows上运行之后,我们在.gitlab-ci.yml中编写script语句,思路和Linux是一样。但是考虑到Windows的特点,为了让程序员少接触一些知识点,以及给未来执行作业的时候预留更多的操作空间。简单说就是未来修改执行作业时候的逻辑,但是每个软件仓
阅读全文
摘要:摘要 软件流水线能把程序员从繁琐的发布工作中解脱出来,但是跑在Windows IIS里的传统Web应用程序,用Docker的方式不是最方便的。本文详细描述如何用Windows的OpenSSH Server来上传网站后,用PowerShell创建和修改IIS的虚拟目录应用程序。 一、自动打包传统ASP
阅读全文
摘要:摘要 本文介绍了Gitlab Runner如何在Windows服务器上调用vstest.console.exe,对旧的项目基于.NET Framework 4.6.1的项目,自动执行单元测试。 改造旧版本的.csproj文件 改造成功后,完整的.csproj文件如下: <Project Sdk="M
阅读全文
摘要:摘要 本文描述了运行在Windows上的Gitlab Runner,如果调用PowerShell来执行推送nupkg包的命令。 .gitlab-ci.yml 完整脚本如下: stages: # List of stages for jobs, and their order of execution
阅读全文
摘要:摘要 本文详细描述了运行在Windows商的Gitlab Runner,如何自动集成.NET Framework的项目。 Gitlab中的变量 变量1:NUPKG_OUTPUT_ROOT 这个目录是在git获取的解决方案根目录之外,因为stages变了以后,当前Gitlab Runner工作的当前解
阅读全文
摘要:背景 本文描述的是docker部署的Gitlab,从一台服务器迁移到另外一台服务器。 停止正在运行的容器 root@dev-server:~# docker stop gitlab.amihome.cn gitlab.amihome.cn 传输数据目录到新服务器 用rsync命令,将gitlab容器
阅读全文
摘要:生成特有的密钥对 用windows的命令行生成即可 $ ssh-keygen -t rsa -C "runner@amihome.cn" 执行如下图: 上述命令行中,密钥保存在C:\Users\d211.ssh目录下: 把上述公钥拷贝到目标服务器的对应用户目录下 比方我们要在目标服务器,用上述私钥,
阅读全文
摘要:概述 程序员签入代码到Gitlab之后,Gitlab Runner自动从流水线领取作业。 按我们编排的“作业”,流水线工作步骤如下: 程序员在Windows的Visual Studio 2022中签入了“解决方案A”到Gitlab; Gitlab根据我们编排的.gitlab-ci.yml创建“流水线
阅读全文
摘要:概述 Gitlab完全可以执行docker run命令,本文用最简单的方式来演示。 修改.gitlab-ci.yml 加入第4个stage,运行docker run。 stages: - build-docker-image - test - push-image - run-website var
阅读全文
摘要:接上文,增加两个stage 最简单的推送,其实是在docker build后边带上--push的开关即可。 但是不经过测试就上传,Docker仓库里很快会堆满垃圾。 所以我们设计新增两个场景,经过测试之后才push映像去仓库。 stages: - build-docker-image - test
阅读全文
摘要:概述 代码签入Gitlab后,Gitlab Runner自动执行docker build,构建网站应用的Docker映像。 在Visual Studio 2022中创建解决方案 在Gitlab中创建项目 这一步省略。 签入源代码到Gitlab 为项目添加Dockerfile 在解决方案根目录下创建“
阅读全文
摘要:概述 本文讲述的是代码签入Gitlab后,Gitlab Runner自动运行 dotnet build,自动生成.NET项目; dotnet pack,自动制作nupkg的包; dotnet push,自动将nupkg包推送到NuGet服务器。 准备工作 需要两个步骤 安装Gitlab服务器; 安装
阅读全文

浙公网安备 33010602011771号