cli*_*int 5 ftp bitbucket bitbucket-pipelines angular
我在Bitbucket存储库中启用了管道,每次构建后,我都需要运行Angular 2构建并在服务器中部署dist文件夹(在执行build命令后创建)。
我的bitbucket-pipelines.yml文件中包含以下内容:
image: node:4.6.0
pipelines:
default:
- step:
script: # Modify the commands below to build your repository.
- npm install
- npm run build:prod
Run Code Online (Sandbox Code Playgroud)
我在Internet上找到了以下代码片段:
- apt-get update
- apt-get -qq install git-ftp
- git ftp push --user $FTP_USERNAME --passwd $FTP_PASSWORD ftp://123.456.789.123/timount/angular_app
Run Code Online (Sandbox Code Playgroud)
我使用pem文件通过SSH客户端登录到服务器。那么上面的代码片段有用吗?如果没有,如何在上述命令中使用pem文件?
为了更加清楚,npm run build:prod命令实际上创建了dist文件夹,该文件夹需要部署在上述位置的服务器上。我该如何实现?
图片:node:8.7.0
管道:
默认:
- 步:
名称:安装
快取:
-节点
脚本:
-npm安装
- 步:
名称:建筑
脚本:
-npm install -g @ angular / cli#需要安装angular-cli进行构建
-npm运行构建--aot
- 步:
名称:部署
脚本:
-易于获取更新
-apt安装ncftp
-ncftpput -v -u“ $ FTP_USERNAME” -p“ $ FTP_PASSWORD” -R $ FTP_HOST $ FTP_SITE_ROOT dist / *
-echo完成将/ dist文件上传到$ FTP_HOST $ FTP_SITE_ROOT
我认为 Git FTP 不是您想要的。如果您查看他们的网站,您会发现它是一个产品的根本原因是仅部署已更改的文件。我怀疑dist每次构建时都会完整地重新创建您的文件夹。即使事实并非如此,他们也表示:
它通过将提交 ID 存储在服务器上的日志文件中来跟踪上传的文件。它使用 Git 来确定哪些本地文件已更改。
Bitbucket Pipelines 实例是短暂的,因此没有地方可以存储日志。git-ftp这根本就削弱了使用的动机。我想你可以将日志推到某个地方并检索它,但如果这值得你花时间,我会感到惊讶。
我不认为你想要做的事情有什么特别之处 - Angular 和 Git 只是碰巧参与其中,但你只是试图将文件夹从一台机器移动到另一台机器。有大量的软件产品可以帮助您实现这一点,但是scp,代表安全复制,是许多 Linux 发行版中包含的更流行的产品之一(您正在构建什么 Docker 容器?)。您可以在这里看到很多示例,但本质上我认为您想要做的可以归结为:
scp -i /path/to/your/.pemkey -r /copy/from/path user@server:/copy/to/path
(示例取自StackOverflow 问题)
请注意,您必须确保您要访问的服务器可公开访问,否则无法从管道构建路由到目标计算机(据我所知)
| 归档时间: |
|
| 查看次数: |
4945 次 |
| 最近记录: |