Circleci 在构建时没有从存储库中复制隐藏文件

Circleci is not copying hidden files from repository while building

提问人:Hossam Hamza 提问时间:5/28/2023 更新时间:6/2/2023 访问量:113

问:

我正在使用 Circleci 来构建和测试打字稿代码。当代码被推送并且 Circleci 开始在 docker 容器中构建时,我注意到它在复制到容器时忽略了存储库中的一些隐藏文件(点文件)。我通过在其中一个步骤中添加命令来确保这一点。如何在复制其余代码文件的同时从代码仓库复制 Circleci?ls.env

.circleci/config.yml

version: 2 # use CircleCI 2.0
jobs: # a collection of steps
  build: # runs not using Workflows must have a `build` job as entry point
    working_directory: ~/su-app-api # directory where steps will run
    docker: # run the steps with Docker
      - image: node:16-alpine3.16
    steps: # a collection of executable commands
      - checkout # special step to check out source code to working directory
      - add_ssh_keys:
          fingerprints:
              - "my finger print"

      - run: 
          name: ls
          command: ls -al && ls api -al

      - run:
          name: Install API Dependencies
          command: npm i

      - run:
          name: Build API
          command: npm run build:api
        
      - run:
          name: Test API
          command: npm run test

      - deploy:
          name: deployment
          command: ssh -o "StrictHostKeyChecking no" user_name@ip "cd ~/su-app-api && git pull origin deploy && sh deploy.sh"
docker 持续集成 circleci 隐藏文件

评论

1赞 hakre 5/29/2023
除了技术问题之外,请考虑不要通过提交到存储库中的文件注入环境参数。而是通过 circleci 配置提供构建/CI 环境。.env

答:

1赞 Hossam Hamza 5/28/2023 #1

我发现了问题所在。我使用的是没有安装 shh-client 或 git 的映像。因此,Circleci 中的结帐步骤回退到 CircleCI 的原生 git 客户端¹,但行为可能与官方 git 不同。node-alpine

我在结帐步骤之前添加了一个安装 ssh 和 git 的步骤,它工作正常。

      - run:
          name: install ssh and git
          command: apk add --update openssh-client git

¹ 签出代码步骤输出“映像中未安装 git 或 ssh(git 需要通过 SSH 克隆)”

评论

0赞 hakre 5/29/2023
你怎么知道circleci有一个原生的git客户端?你能提供参考吗?在下面的 circleci 支持文档中没有提到它,但它可能是您正在编写的场景: CircleCI 支持中心: 使用 CircleCI: 配置流水线: 如何修改结帐步骤? 费尔南多;9月 29, 2022
0赞 Community 5/29/2023
您的答案可以通过额外的支持信息得到改进。请编辑以添加更多详细信息,例如引文或文档,以便其他人可以确认您的答案是正确的。您可以在帮助中心找到有关如何写出好答案的更多信息。
0赞 Hossam Hamza 6/2/2023
@hakre 你去 support.circleci.com/hc/en-us/articles/......