Travis + Openshift Not deploying to openshift

2019-08-11 09:38发布

问题:

We are having issues with being able to deploy to openshift. The deployment process runs but then doesn't actually deploy any new code to our gears.

Here is my travis file:

language: node_js

node_js:
  - '0.10'

before_script:
  - npm install -g bower grunt-cli
  - gem install sass
  - bower install

services: mongodb

before_deploy:
  - rm -rf .sass-cache .tmp client e2e node_modules server styleguide *.*
  - mv dist/* ./
  - rm -rf dist
  - ls

notifications:
  slack: REMOVED

deploy:
  - provider: heroku
    api_key: REMOVED
    skip_cleanup: true
    buildpack: https://github.com/ddollar/heroku-buildpack-multi.git
    app:
      qa: snd-onair-webclient-qa
      production: snd-onair-webclient-production
  - provider: openshift
    user: rbrookfield@352inc.com
    password:
      secure: REMOVED
    skip_cleanup: true
    clean_up: false
    domain: onairtest
    app:
      staging: snd

branches:
  only:
    - dev
    - staging
    - qa
    - production

And here is the tail of my travis deployment:

authenticated as rbrookfield@352inc.com
found app snd
Generating public/private rsa key pair.
Your identification has been saved in .dpl/id_rsa.
Your public key has been saved in .dpl/id_rsa.pub.
The key fingerprint is:
1d:0f:07:49:08:90:f3:1a:2f:b7:c3:9a:c4:19:bd:c7 testing-worker-linux-4554f670-1-8413-linux-2-14078509
The key's randomart image is:
+--[ RSA 2048]----+
|    .o.. oo.     |
|    o   . ..     |
|     o    o .    |
|    ...  . =     |
|    .+. S . .    |
|   .oooo         |
|    ++..E        |
|   . .+.         |
|    o. .         |
+-----------------+
dpl.3
Deploying application
warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:
  git config --global push.default matching
To squelch this message and adopt the new behavior now, use:
  git config --global push.default simple
See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)
Warning: Permanently added 'snd-onairtest.rhcloud.com' (RSA) to the list of known hosts.
Everything up-to-date
Done. Your build exited with 0.

I have also setup a ssh key on my openshift gears since this a private repository and I am able to access it from the instances. Im not sure what is going on here.

回答1:

Seems like a common-ish issue. You need to do a commit in the travis.yml file so that the updates are reflected. Here is the part in my code where I make the commit after my tests:

after_success:
- git config --global user.email "travis@localhost.localdomain"
- git config --global user.name "Travis CI"
- git add --all
- git commit -am "Travis change"

Also be nice to note that a user could perform a build operation and deploy just the artifacts by doing something like the following:

after_success:
- grunt build
- cd dist
- git init
- git config --global user.email "travis@localhost.localdomain"
- git config --global user.name "Travis CI"
- git add --all
- git commit -am "Travis change"