gitlab ci 管道部署 ftp 失败
Posted
技术标签:
【中文标题】gitlab ci 管道部署 ftp 失败【英文标题】:gitlab ci pipeline failed deploy ftp 【发布时间】:2020-06-14 00:58:02 【问题描述】:我尝试使用 gitlab-ci.yml 构建和推送我的 react 构建文件夹 构建和测试通过,但部署失败,出现以下错误: 如果我在我的语言环境文件中执行相同的脚本,它可以工作!
lftp -e "mirror -R build/ ./test ; 退出" -u $USERNAME,$PASSWORD $HOST 镜像:访问失败:/builds/myGitLab/myGitlabProjectName/build:没有这样的文件或目录 lftp: MirrorJob.cc:242: void MirrorJob::JobFinished(Job*): 断言“transfer_count>0”失败。 /bin/bash: line 97: 275 Aborted (core dumped) lftp -e "mirror -R build/ ./test ; quit" -u $USERNAME,$PASSWORD $HOST 错误:作业失败:退出代码 1这是我所有的 yml 文件:
图片:节点:13.8 阶段: - 建造 - 测试 - 部署 建造: 阶段:构建 脚本: - npm 安装 - npm 运行构建 测试: 阶段:测试 脚本: - 纱线 - 纱线测试 部署: 脚本: - apt-get 更新 && apt-get 安装 -y lftp -lftp -e "mirror -R build/ ./test ; 退出" -u $USERNAME,$PASSWORD $HOSTenter code here
【问题讨论】:
【参考方案1】:我明白了!我从 docker 映像(节点)开始执行这 3 个阶段:构建、测试和部署但没有成功,但我尝试在部署阶段执行 ls-a 我意识到我没有构建文件夹.因为每次都会重新创建docker镜像,所以我添加了artifact来保留buid文件! 一旦构建阶段的工作“完成”。它会保存在一个变量 buid 中,以便下一个工作也可以部署!
image: node:13.8
stages:
- build
- test
- deploy
build:
stage: build
script:
- npm install
- npm run build
only:
- master
artifacts:
paths:
- build
test:
stage: test
script:
- yarn
- yarn test
deploy:
stage: deploy
before_script:
- apt-get update -qq
script:
- apt-get install -y -qq lftp
- ls -a
- lftp -e "set ssl:verify-certificate false; mirror --reverse --verbose --delete build/ ./test2 ; quit" -u $USERNAME,$PASSWORD $HOST
only:
- master
【讨论】:
【参考方案2】:我有一部分答案,但我想做更好的事情
其实,我明白发生了什么。在构建 docker 映像的每个阶段,然后在构建测试和部署之后,不再有构建文件夹。
我不知道如何坚持 docker image 女巫是每个阶段的节点。
欢迎任何帮助。
为了使它起作用,我以这种方式在一个阶段完成了每个脚本:
image: node:13.0.1
阶段: - 生产
构建: 阶段:生产 脚本: - npm 安装 - npm 运行构建 - npm 运行测试 - apt-get update -qq && apt-get install -y -qq lftp -lftp -e "mirror -R build/ ./test ; 退出" -u $USERNAME,$PASSWORD $HOST 只要: - 掌握
【讨论】:
那么,这个问题现在解决了吗?如果不是,请编辑您的问题以包含所有信息并删除此答案 您提出了问题,并发布了两个答案,您可以清理一下吗?这不应该是一个答案。以上是关于gitlab ci 管道部署 ftp 失败的主要内容,如果未能解决你的问题,请参考以下文章