首页 > 系统相关 >在Windows运行Gitlab Runner自动推送nupkg包到NuGet仓库

在Windows运行Gitlab Runner自动推送nupkg包到NuGet仓库

时间:2024-05-08 11:13:52浏览次数:14  
标签:nupkg NUPKG Windows Gitlab YEE VERSION ID CLOUD

摘要

本文描述了运行在Windows上的Gitlab Runner,如果调用PowerShell来执行推送nupkg包的命令。

.gitlab-ci.yml

完整脚本如下:

stages:          # List of stages for jobs, and their order of execution
  - build
  - test
  - push-nupkg

variables:
    YEE_CLOUD_VERSION_ID : 2024.5.$CI_PIPELINE_IID
    YEE_CLOUD_NUPKG_DIR : $NUPKG_OUTPUT_ROOT\\Yee.Cloud\\$YEE_CLOUD_VERSION_ID

推送包:
  stage: push-nupkg
  before_script:
    - .$PUSH_NUPKG_POWERSHELL_FILE
  script:
    - echo "Deploying application..."
    - Push-Nupkg $NEXUS_REPO $NUGET_API_KEY $YEE_CLOUD_NUPKG_DIR $YEE_CLOUD_VERSION_ID
    - echo "Application successfully deployed."

在PowerShell中注册函数/方法

执行了这一句,在PowerShell中就能使用PUSH_NUPKG_POWERSHELL_FILE这个文件中的Push-Nupkg函数/方法了。

  before_script:
    - .$PUSH_NUPKG_POWERSHELL_FILE

调用PowerShell的函数

调用Push-Nupkg方法,把4个参数传进去即可。

  script:
    - Push-Nupkg $NEXUS_REPO $NUGET_API_KEY $YEE_CLOUD_NUPKG_DIR $YEE_CLOUD_VERSION_ID

Gitlab服务器中的CI/CD变量

变量1和2:NUPKG_OUTPUT_ROOT和YEE_CLOUD_VERSION_ID

上文中已经解释了这个变量。

变量3:NEXUS_REPO

我们的NuGet仓库是用Nexus搭建的,这个值就是仓库的网址,比如https://nuget.abc.com

变量4:NUGET_API_KEY

用户登入Nexus的网页,然后去自己账户下生成Key,用于执行nuget push的时候带在URL里。ps:新手在折腾自动集成的时候,有个误区,就是不知道这个key只能用于上传nupkd的包,并不能用于下载nupkg的包。

PowerShell

PowerShell脚本,被Gitlab Runner调用时,需要4个参数。

function Push-Nupkg {

	param (
		[string]$NEXUS_REPO,
		[string]$NUGET_API_KEY,
		[string]$PROJECT_NUPKG_DIR,
		[string]$VERSION_ID
	)

echo "NuGet仓库的http(s)开头的URL:"$NEXUS_REPO
echo "推送NuGet包用到的令牌:"$NUGET_API_KEY
echo "项目的nupkg包的目录"$PROJECT_NUPKG_DIR
echo "包的版本号,只在上述目录下搜索这个版本号的nupkg包:"$VERSION_ID

cd $PROJECT_NUPKG_DIR
dotnet nuget push *.$VERSION_ID.nupkg -k $NUGET_API_KEY -s $NEXUS_REPO

echo "Application successfully deployed."

}

执行效果

img

存在的问题

PowerShell执行失败,但是Gitlab Runner认为是成功的。

后续还会更新

标签:nupkg,NUPKG,Windows,Gitlab,YEE,VERSION,ID,CLOUD
From: https://www.cnblogs.com/amisoft/p/18179216/gitlab-runner-at-windows-push-nupkg

相关文章

  • 在Windows运行Gitlab Runner打包基于.NET Framework 4.6.1的项目
    摘要本文详细描述了运行在Windows商的GitlabRunner,如何自动集成.NETFramework的项目。Gitlab中的变量变量1:NUPKG_OUTPUT_ROOT这个目录是在git获取的解决方案根目录之外,因为stages变了以后,当前GitlabRunner工作的当前解决方案根目录下会被清空。我们希望build了以后经过单元......
  • windows下使用命令行查看已存储的wifi密码
    netshwlanshowinterface查看当前已连接wifi信息  netshwlanshowprofiles查看所有已保存的wifi配置文件     netshwlanshowprofilesname="XXXXXX"key="Clear"查看特定配置文件详情,包括wifi密码,密码在“关键内容”行 ......
  • Windows下使用ONNXRuntime的GPU进行推理时提示cudnn64_8.dll异常
    一、问题复现将模型放到GPU上推理时时发生的异常。OrtSessionOptionsAppendExecutionProvider_CUDA(session_options,0);...ort_outputs=session_.Run(Ort::RunOptions{nullptr},inputNames.data(),&input_tensor_,1,outNames.data(),outNames.size());二、解......
  • windows 环境下python和R的交互
    Rstudio调用Python模块:0.查看python路径sessionInfo()指定python路径library(reticulate)#R使用python的工具path_to_python<-"D:/python"use_python(path_to_python)reticulate::use_python(path_to_python)anndata是python模块,初次运行报错library(anndata)ad<-r......
  • Windows Server查看W3SVC IIS服务器中对应的网站日志
    WindowsServer查看W3SVCIIS服务器中对应的网站日志https://www.cnblogs.com/xiaoyou2018/p/16592930.htmlWindowsServer如何查看IIS服务器中对应的网站日志https://shiyousan.com/post/636240709447985366存在多个W3SVC文件的原因https://blog.csdn.net/qq_38150880/a......
  • Linux与Windows操作系统的爱恨情仇(初料)
    Linux与Windows操作系统的爱恨情仇(初料)更改时间:四种常见文件系统比较(FAT16、FAT32、NTFS、ExFAT)MMU内存管理单元Linux系统内核的作用Linux系统目录和Windows系统文件夹的区别1.四种常见文件系统比较(FAT16、FAT32、NTFS、ExFAT)FAT16、FAT32、NTFS和ExFAT是四......
  • 小白也能轻松玩转 Windows
    ......
  • windows安装cellchat
    检查包位置.libPaths('D:/R/R-4.3.1/library')确认R版本和包路径一致用R=4.3.1下载https://github.com/jinworks/CellChat安装cellchat前根据说明安装依赖https://github.com/jinworks/CellChat切换到CellChat-master.zip所在位置,删掉zip/src里的.o.sosetwd('D:/R/R-4.3......
  • win10禁用Windows快捷键的方法
    1、打开注册表编辑器 2、在注册表编辑器中定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion 3、在advanced中新建字符串值,命名为DisabledHotkeys,然后对数值数据设置。 (1)如果想禁用一个快捷键,比如win+a(打开操作中心),就输入a(2)如果想一次禁用多个快捷......
  • wget下载Gitlab的存档
    1.wget下载Gitlab项目下整个分支的的存档,download_branch_archive.sh#!/bin/bash#GitLab实例的地址GITLAB_HOST="172.16.88.5"#项目IDPROJECT_ID="108"#分支名称BRANCH="StandAlone-4.6.0"#GitLab访问令牌PRIVATE_TOKEN="ijUGXs1DQy5hMTzKjtt789......