web-dev-qa-db-ja.com

curlコマンドが.gitlab-ci.ymlに見つかりません

.gitlab-ci.ymlファイルがあります。いくつかのDockerイメージを作成し、AWSECRにプッシュします。

いくつかのアーティファクトをリモートリポジトリにプッシュするcurlコマンドを実行すると、curl:notfoundと表示されます。私はすでにopenjdkイメージを使用して./gradlewビルドを実行しています。 Gitlabランナーにcurlをインストールする方法がわかりません。

ご案内ください。

6
Abhinav Mutreja

私はapkユーティリティを使用してそれを解決することができました。

apk add --update curl && rm -rf /var/cache/apk/*
6
Abhinav Mutreja

docker:dindを使用している場合は、@ AbhinavMutrejaが述べたように次のことができます。

image: docker:stable

services:
  - name: docker:dind

stages:
  - example

example:
  stage: example
  before_script:
    - apk add --update curl && rm -rf /var/cache/apk/*
  script:
    - >
      curl google.com
3
gpresland

スリムをベースにした公式のopenjdkイメージを使用していると思います。したがって、スクリプトの先頭またはbefore_scriptを編集できます。

スクリプトセクションが次のようになっていると仮定します。

 - ./gradlew build

あなたはこれをするでしょう:

 - apt-get update && apt-get install -y curl
 - ./gradlew build   

仮定が間違っていた、答えを以下で見てください

0
Clive Makamara

ランナーコンテナへのcurlのインストールは機能します。次に例を示します。

trigger_xpub_epmc:
  stage: deploy
  image: docker:stable
  before_script:
    - apk add --update curl && rm -rf /var/cache/apk/*
  script:
    - curl -X POST -F token=xxxxx -F ref=master https://gitlab.example.com/api/v4/projects/1934/trigger/pipeline
0
Yuci