簡體   English   中英

有沒有辦法將GitLab CI工件上傳到Openshift容器?

[英]Is there a way to upload GitLab CI artifacts to an Openshift container?

我有一個GitLab CI管道,可以構建一些工件。 例如:

train:job:
  stage: train
  script: python script.py
  artifacts:
    paths:
      - artifact.csv
    expire_in: 1 week

現在,我使用GitLab管道中的以下步驟將存儲庫部署到OpenShift。 這將把我的GitLab repo拉入OpenShift。 它不包括“測試”中的工件。

deploy:app:
  stage: deploy
  image: ayufan/openshift-cli
  before_script:
    - oc login $OPENSHIFT_DOMAIN --token=$OPENSHIFT_TOKEN
  script:
    - oc start-build my_app

如何讓OpenShift使用此存儲庫,以及在我的管道中創建的工件?

通常,OpenShift 構建管道依賴於s2i構建過程來構建應用程序。

在s2i構建之間重用工件的最佳實踐可能是通過使用增量構建或將多個BuildConfig定義(一個BuildConfig的輸出圖像作為源圖像輸入到另一個BuildConfig)通過spec.source.imagesspec.source.git BuildConfig定義中的spec.source.git配置。

在您的情況下,因為您使用Jenkins管道來生成工件而不是OpenShift構建過程,所以您實際上只需要將工件與源代碼和運行時容器映像組合在一起。

要執行此操作,您可以創建一個構建器容器圖像,在s2i工作流的組裝階段(通過curl,wget等)將這些工件從外部源中拉下來。 然后,您可以將BuildConfig配置為指向源存儲庫。 在構建時,BuildConfig將下拉您的源代碼,匯編腳本將下拉您的工件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM