首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >gitlab-运行运行os依赖脚本

gitlab-运行运行os依赖脚本
EN

Stack Overflow用户
提问于 2019-01-02 16:10:02
回答 2查看 896关注 0票数 4

我的项目是在windows和linux下构建的,我在windows上安装了一个gitlab运行程序,在linux机器上设置了一个。现在,我想配置“..gitlab ci.yml”,以便在这两台机器上构建。但是,根据操作系统的不同,我想为构建调用不同的构建脚本。

例如“..gitlab ci.yaml”(不起作用)

代码语言:javascript
运行
复制
mybuild:
  # on linux
  script:
    - ./build-linux.sh
  # on windows
  script
    - buildwin.bat

我如何在..gitlab ci.yml中实现这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-03 14:38:10

你不能。实现它的方法是

  1. 给你的跑步者独特的标签。例如“linux运行程序”和“windows运行程序”。
  2. 复制该作业,只在带有"linux-runner“标记的运行程序上运行一个作业,而只在带有”windows- run“标记的运行程序上运行第二个作业。 linux : stage: build:- linux-runner脚本:- ./build-linux.sh windows build: stage: build标记:- windows-runner脚本:- buildwin.bat

另见https://stackoverflow.com/a/49199201/2779972

票数 3
EN

Stack Overflow用户

发布于 2020-03-13 21:52:41

通常建议创造两个工作岗位的解决方案不符合我的需要。我需要能够使用Windows或Linux/MacOS运行程序,不管是什么。我建议的技巧是在call中创建一个/usr/local/bin脚本,这样它就可以模仿call命令:

代码语言:javascript
运行
复制
#/bin/bash
./$*

例如,如果您想调用Gradle包装器,只需在gitlab-ci.yml中编写

代码语言:javascript
运行
复制
script:
- call gradle

它还可以使用特定的脚本(例如,用于Windows的"build.bat“,以及用于MacOS/Linux的”构建“):

代码语言:javascript
运行
复制
script:
- call build

我希望这能帮助和我一样需要帮助的人。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54009564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档