我可以使用gitlab ci将我的php项目部署到没有Docker镜像的远程主机吗?

时间:2017-12-08 09:07:20

标签: php jenkins ssh deployment gitlab-ci

我们在gitlab上有PHP个项目。我可以使用Jenkins + Phping将其部署到远程主机,但Jenkins经常运行缓慢。我看到很多包含Gitlab-ciDocker图片的示例,但我不想使用Docker图片。我只是想在一些作业触发后将这个项目克隆到远程主机,然后在远程主机上做一些工作。我看到了gitlab-ci参赛者sshshell,也许是使用其中一名参赛者?

我可以将带有gitlab ci的PHP项目部署到没有 Docker图像的远程主机吗?会是正确的吗?

1 个答案:

答案 0 :(得分:0)

几周前我已经完成了。 在那种情况下,我使用gitlab-cishell跑步者,它对我来说很好。我在使用ssh键时遇到了一些问题,但是我修了一下它:

http://www.linuxproblem.org/art_9.html

https://apple.stackexchange.com/questions/48502/how-can-i-permanently-add-my-ssh-private-key-to-keychain-so-it-is-automatically

所以,是的,您可以通过这种方式进行部署,并且可以做到这一点。

我添加了用于部署.gitlab-ci.yml应用程序的jar

image: JAVA:latest 

before_script:
  - /home/leandro/netbeans-8.2/java/maven/bin/mvn clean install

after_script:  

stages:
  - build_deploy_dev
  - build_deploy_production   

build_&_deploy_dev:
  stage: build_deploy_dev
  except:
   - master
  script:
   - cd target
   - scp EnviaEmail-1.0-SNAPSHOT-jar-with-dependencies.jar root@192.168.0.147:/home/leandro/Desktop
   - ssh root@192.168.0.147 "kill $(ps -ef | grep EnviaEmail | grep -v grep | awk '{print $2}') < /dev/null > /home/leandro/Desktop/KillEnviaEmail.log 2>&1 &"
   - ssh root@192.168.0.147 "java -jar /home/leandro/Desktop/EnviaEmail-1.0-SNAPSHOT-jar-with-dependencies.jar -Xmx256m < /dev/null > /home/leandro/Desktop/EnviaEmail.log 2>&1 &"   

希望有所帮助