在GitLab流水线中,可以通过环境变量或者命令行参数来接收用户输入。以下是两种解决方法的示例代码:
stages:
  - deploy
deploy:
  stage: deploy
  script:
    - echo "请输入用户名:"
    - read USERNAME
    - echo "用户名为:$USERNAME"
    - echo "请输入密码:"
    - read -s PASSWORD
    - echo "密码为:$PASSWORD"
  environment:
    name: production
    url: https://example.com
在上面的例子中,read命令用于接收用户输入,并将输入保存到USERNAME和PASSWORD环境变量中。然后,可以在后续的脚本中使用这些环境变量。
stages:
  - deploy
deploy:
  stage: deploy
  script:
    - echo "用户名为:$USERNAME"
    - echo "密码为:$PASSWORD"
  environment:
    name: production
    url: https://example.com
  variables:
    USERNAME: "$USERNAME"
    PASSWORD: "$PASSWORD"
在上面的例子中,流水线定义了USERNAME和PASSWORD两个变量,并在脚本中使用它们。在执行流水线时,可以通过命令行参数来传递这些变量的值,例如:
gitlab-runner exec docker deploy --env "USERNAME=myusername" --env "PASSWORD=mypassword"
这样,USERNAME和PASSWORD变量的值就会被设置为myusername和mypassword。
下一篇:API中的值为未定义