提问人:Hossam Hamza 提问时间:5/28/2023 更新时间:6/2/2023 访问量:113
Circleci 在构建时没有从存储库中复制隐藏文件
Circleci is not copying hidden files from repository while building
问:
我正在使用 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"
答:
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/......
评论
.env