我正在尝试设置 Travis CI,以便在成功构建时将我的存储库部署到 Openshift。除了使用 Git 之外,还有其他方法可以部署存储库吗?
3 回答
Git 是用于更新代码的官方机制,但是根据您正在部署的应用程序的类型,您可能不需要部署整个代码库。
例如,Java 应用程序(war、ear 等)可以部署到 JBoss 或 Tomcat 服务器,只需将构建的应用程序检查到 OpenShift git 存储库、webapps 或部署目录即可。
对此的替代方法(它将不受支持)是使用 SSH 密钥将您的应用程序 scp 到设备。然而,每当应用程序被移动或更新(使用 git)时,这些内容很有可能被设备删除(清理)。
我们正在处理直接二进制部署(“push”)和“pull”式部署(Openshift 会为您下载二进制文件。此处描述了设计/过程:
https://github.com/openshift/openshift-pep/blob/master/openshift-pep-006-deploy.md
您可以直接对 app-root/dependencies/jbossews/webapps 目录执行 SCP。我能够成功地做到这一点并让应用程序正常工作。这是链接
这是我在 after_success blck 中的代码
after_success: - sudo apt-get -y install sshpass - openssl aes-256-cbc -K $encrypted_8544f7cb7a3c_key -iv $encrypted_8544f7cb7a3c_iv -in id_rsa.enc -out ~/id_rsa_dpl -d - chmod 600 ~/id_rsa_dpl - sshpass scp -i ~ /id_rsa_dpl webapps/ROOT.war $DEPLOY_HOST:$DEPLOY_PATH
希望这可以帮助