我使用gitlab CI runner來測試我的代碼並生成一些文件。我只想通過CI runner將生成的文件推送到gitlab存儲庫。有沒有辦法做到這一點?通過CI運行器將文件推送到gitlab-ci
4
A
回答
3
您正在查找的功能稱爲Artifacts。工件是在成功時附加到構建的文件。
爲了能夠把這個在您的.gitlab-ci.yml的神器:
artifacts:
paths:
- dir/
- singlefile
這將上傳dir
目錄和文件singlefile
回GitLab。
4
生成gitlab一個SSH密鑰
- >配置文件設置 - > SSH密鑰 - >生成它
產生,在gitlab 變量命名SSH SSH密鑰存儲之後
- >項目設置 - >變量 - >添加變量
在.gitlab-ci.yml添加下面行。
before_script:
- mkdir -p ~/.ssh
- echo "$SSH" | tr -d '\r' > ~/.ssh/id_rsa
- chmod 600 ~/.ssh/id_rsa
- ssh-keyscan -H 'Git_Domain' >> ~/.ssh/known_hosts
之後,使用下面的js代碼將文件推送到存儲庫。
var child_process = require("child_process");
child_process.execSync("git checkout -B 'Your_Branch'");
child_process.execSync("git remote set-url origin Your_Repository_Git_Url");
child_process.execSync("git config --global user.email 'Your_Email_ID'");
child_process.execSync("git config --global user.name 'Your_User_Name'");
for (var i=0;i<filesToBeAdded.length;i++) {
child_process.execSync("git add "+filesToBeAdded[i]);
}
var ciLog = child_process.execSync("git commit -m '[skip ci]Automated commit for CI'");
var pushLog = child_process.execSync("git push origin Your_Branch");
[跳過Cl]是在提交消息最重要的。否則,它將啓動CI過程的無限循環。
相關問題
- 1. 通過TFS將文件本地推送到Web服務器?
- 2. 通過travis-ci運行phpspec
- 3. Git:在提交/推送前通過過濾器運行?
- 4. 使用ruby通過telent將文件推送到遠程系統
- 5. 將文件推送到github
- 6. 將文件推送到SVN
- 7. 如何將SQLCLR更新推送到您的(CI)服務器
- 8. 將Docker容器推送到GITLAB CI的私人存儲庫
- 9. 通過http將數據從服務器推送到瀏覽器
- 10. Android將文件推送到文件夾
- 11. 通過運行所CI gitlab /泊塢窗
- 12. 您可以使用eclipse運行配置將文件推送到模擬器嗎?
- 13. 無法通過APNS將MDM推送通知發送到設備。
- 14. 通過OBEX推送配置文件發送文件
- 15. 將通知推送到JavaScript?
- 16. 如何通過Mercurial將代碼推送到多個服務器?
- 17. 如果測試通過,Circle Circle CI可以推送給github嗎?
- 18. 通過命令行將IPA推送到設備(在xcodebuild之後)?
- 19. 無法通過命令行將應用程序推送到bluemix
- 20. 通過索引將集合推送到子文檔?
- 21. 通過shell腳本發送推文到twitter通過
- 22. uWebSockets - 將事件推送到服務器
- 23. 通過使用Python通過Apache將文件推送到用戶時錯誤的文件名稱
- 24. 通過os.system推送
- 25. 通過retrofit2將文件發送到服務器作爲對象
- 26. 如何通過推送txt文件連接到雲代工廠?
- 27. 推送通知不是Android的運行
- 28. BB10 android運行時間推送通知
- 29. 推送通知後運行功能
- 30. 嘗試將推送通知發送到iOS設備 - 未收到推送通知
但我真的想將文件作爲源文件推送到存儲庫。 – Venkat
@VenkatGan但爲什麼?如果您將Runner的任何內容推送到存儲庫,您將再次啓動亞軍。這會導致無限循環。 – Fairy
是的,它會開始一個無限循環。但是當我通過亞軍提交時,我使用'[skip ci]'關鍵字。通過這種方式,我可以消除無限循環。 – Venkat