目前,我在bitbucket中有一个git项目,该项目具有已被dockerized的Web应用程序。随后,我创建了一个bitbucket-pipelines.yml文件,该文件概述了我的整个部署过程。
我所有的CI都很好用,我可以构建,测试并将生产映像推送到dockerhub注册表。
现在到最后阶段,部署。这是事情变得混乱的地方。
这是管道配置的部署部分:
<label ~~ id="btn_click" onclick="btn()">
<table class="table table-bordered" id="data_table">
<thead>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tbody>
{% for li in test_list %}
<tr>
<td> {{ li.Id }} </td>
<td> {{ li.Name}} </td>
</tr>
{% endfor %}
</tbody>
</table>
<Script type="text/javascript">
function btn {
//I'd like to put above {for~~ endfor} source here!
}
</Script>
这是构建中的错误:
image: atlassian/default-image:2
pipelines:
branches:
master:
- step:
trigger: manual
deployment: production
name: Deploy
services:
- docker
script:
- export IMAGE_VERSION=$BITBUCKET_BUILD_NUMBER
- export DOCKER_HOST=ssh://root@$IP_ADDRESS
- docker login --username $DOCKER_HUB_USERNAME --password $DOCKER_HUB_PASSWORD
- ./cd.sh pull
- ./cd.sh deploy
- ./cd.sh migrate
- ./cd.sh clean
我目前正确设置了SSH密钥,所以我知道这不是问题。我在连接到暂存环境的本地计算机上对此进行了测试,并且工作正常。
我猜想这是使用默认Atlassian图像的限制吗?它可能正在使用旧版本的Docker或其他工具?
基本上,我的远程计算机上运行的是docker,上面只有运行我的服务所需的容器。它没有安装git项目或任何东西。
有人知道如何使用Bitbucket管道解决此问题吗?
如果没有,关于更好的部署策略有什么建议吗?
我正在使用docker-compose v3.3。
谢谢。
答案 0 :(得分:0)
抱歉延迟了 10 个月的重播,我认为您来对了,我建议将 ssh 放到服务器本身,然后使用类似的东西从 bitbucket 本身执行 ssh
a --- 14
b --- 0
c --- 7
d --- 4
e --- 10
f --- 4
g --- 2
h --- 8
i --- 8
j --- 0
k --- 1
l --- 0
m --- 0
n --- 11
o --- 5
p --- 0
q --- 0
r --- 12
s --- 5
t --- 17
u --- 3
v --- 0
w --- 0
x --- 1
y --- 0
z --- 0
为什么不安装 Kubernetes 呢?你可以安装一些像 Rancher 这样的开源软件并且有一个创建的 GUI 界面。