使用 Gitlab Ci Cd 将文件添加到 Repo

时间:2020-12-23 12:58:38

标签: git gitlab gitlab-ci sha

我正在使用 Gitlab 为 http 文件服务器提供服务,其中包含我正在开发的游戏的资产文件。 当您开始游戏时,应用程序会检查您是否已经下载了资产文件,并且它应该支持资产更新。

对于更新系统,我希望应用程序会检查每个资产文件的 sha,如果它与本地文件的 sha 不同,则该文件将被替换。

是否可以创建一个 CI/CD 作业,将存储库中所有文件的 sha 写入文件并将此文件推送到存储库本身,以便应用程序也可以下载包含 sha 值的文件?

非常感谢!!

1 个答案:

答案 0 :(得分:1)

首先,您需要在容器/外壳运行器中安装一个 git 包。

示例: 您需要推送到其他存储库:

  1. 将 repo 克隆到 runner
  2. 将 alias_link 添加到远程仓库
  3. 向 git 添加文件
  4. 提交它们
  5. 通过 alias_link 推送到远程仓库。

将这些标准的 git 命令放入 gitlab-ci 作业脚本:

git_job:
  image: alpine
  script:
    - apk add git
    - git clone https://oauth2:${PRIVATE_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}.git
    - git remote add alias_link https://oauth2:${PRIVATE_TOKEN}@${CI_SERVER_HOST}/${CI_PROJECT_NAMESPACE}/${CI_PROJECT_NAME}.git
    - git config user.name "WhoCareS"
    - git config user.email "CiContributor@email.com"
    - git add your_file1
    - git add yourdir1/
    - git commit -m "yay! new files!"
    - git push -u alias_link

如果您需要推送到作业已启动的同一个存储库,您可以跳过第一步进行克隆。

相关问题