如何在gitlab ci中运行bash脚本(带参数)?

问题描述 投票:0回答:1

我有一个脚本存储库,其中有几个脚本,其中我有一个 build.sh 文件,我想在 GitLab CI 运行时运行该文件。我可以简单地将其添加到脚本部分下的 GitLab CI 文件中吗?我假设它将运行脚本文件。

有没有办法可以将变量从我的 GitLab CI 文件/环境添加并传递到 hello.sh 文件?

我的项目:

rootdir
  - folder1
  - scripts
      - hello.sh

hello.sh

#!/usr/bin/env bash
echo "Hello World!"

GitLab CI:

image: docker:latest

stages:
  - build
  
build:
  stage: build
  script:
    - ./scripts/hello.sh
bash docker gitlab cicd
1个回答
0
投票

是的,两者都有可能。要在 GitLab CI 中使用

hello.sh
脚本并直接从
.gitlab-ci.yml
传递变量,只需在
variables
部分下定义变量(下面我包含了 GREETING 变量作为示例)。然后,当您运行脚本时,这些变量将自动可用。

首先确保您的

hello.sh
脚本可执行。您可以通过在存储库根目录中本地运行
chmod +x ./scripts/hello.sh
来实现这一点。或者,您也可以在运行脚本之前将其作为在 Gitlab CI 文件的脚本部分下运行的第一个命令。

然后修改您的

.gitlab-ci.yml
以包含变量并像这样运行脚本:

image: docker:latest

stages:
  - build
  
variables:
  GREETING: "Welcome to GitLab CI/CD!"

build:
  stage: build
  script:
    - ./scripts/hello.sh

对于您是否可以访问

hello.sh
中的变量的问题,您可以使用
GREETING
访问
$GREETING
变量:

#!/usr/bin/env bash
echo "Hello World! $GREETING"
© www.soinside.com 2019 - 2024. All rights reserved.