我使用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