[英]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.images
或spec.source.git
BuildConfig定義中的spec.source.git
配置。
在您的情況下,因為您使用Jenkins管道來生成工件而不是OpenShift構建過程,所以您實際上只需要將工件與源代碼和運行時容器映像組合在一起。
要執行此操作,您可以創建一個構建器容器圖像,在s2i工作流的組裝階段(通過curl,wget等)將這些工件從外部源中拉下來。 然后,您可以將BuildConfig配置為指向源存儲庫。 在構建時,BuildConfig將下拉您的源代碼,匯編腳本將下拉您的工件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.