cdrx / rancher-gitlab-deploy Goto Github PK
View Code? Open in Web Editor NEWPainless deployment of projects built with GitLab CI onto your Rancher infrastructure
License: MIT License
Painless deployment of projects built with GitLab CI onto your Rancher infrastructure
License: MIT License
Not sure if this is possible or not, but it would be nice if this was able to update by tag. Instead of saying
upgrade --stack my-stack
upgrade --stack my-other-stack
upgrade --stack yet-another-stack
I could instead just say
upgrade --tag stack-group
Would be super nice if we could update multiple containers in parallel. I know there are tools that let you do that, but none of these tools are installed on the image, afaik
It would be nice if it reverts the upgrade on a failure / after the timeout
If the image that is specified has the same tag (example ":testing") use the option "Always pull image before creating"
update: I get it
Hi, your job is awesome, unfortunately I can not make it work. When the deploy stage comes it throws this error "Line 64: Upgrade: Command not found. Exit status 1". I provided all secrets to GitLab secret variables: the environment API keys, URL (http://IP_address:8080). My gitlab-ci.yml is below
image: docker:latest
services:
- docker:dind
stages:
- build
- deploy
variables:
IMAGE_TAG: $CI_REGISTRY_IMAGE:webapp_v1.$CI_BUILD_ID
build:
stage: build
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- docker build -t $IMAGE_TAG .
- docker push $IMAGE_TAG
deploy:
stage: deploy
image: cdrx/rancher-gitlab-deploy
script:
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $CI_REGISTRY
- upgrade --new-image $CI_REGISTRY_IMAGE:webapp_v1.$CI_BUILD_ID --stack RoR-web-application --service rails
Thanks,
Cheers
Dear,
I have on Rancher a stack and service with the same names as the gitlab group and project.
So my gitlab-ci looks like:
deploy: image: cdrx/rancher-gitlab-deploy:latest stage: deploy only: - develop script: - upgrade
But when this stage of the pipeline runs i get the following error on rancher:
middleware (Failed to allocate instance [container:1i451]: Bad instance [container:1i451] in state [error]: Allocation failed: No healthy hosts meet the resource constraints: [ports: [8082:8082/tcp], ResourceType: instanceReservation, Amount: 1])
Is this because of the way i created the service (with rancher UI 'Add service')?
Can someone help? This is quite important in our setup.
kind regards,
Thomas
$ upgrade --environment Default --stack services --service bonus --no-finish-upgrade
Traceback (most recent call last):
File "/usr/local/bin/upgrade", line 11, in <module>
load_entry_point('rancher-gitlab-deploy==1.2', 'console_scripts', 'rancher-gitlab-deploy')()
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/rancher_gitlab_deploy-1.2-py2.7.egg/rancher_gitlab_deploy/cli.py", line 93, in main
bail("Unable to find a stack called '%s'. Does it exist in the '%s' environment?" % environment_name)
TypeError: not enough arguments for format string
ERROR: Job failed: exit code 1
I've run into small issue when I accidentally specified wrong environment name which triggers this error:
upgrade --environment env --service betag-wb-frontend
Traceback (most recent call last):
File "/usr/local/bin/upgrade", line 11, in <module>
load_entry_point('rancher-gitlab-deploy==1.2', 'console_scripts', 'rancher-gitlab-deploy')()
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/rancher_gitlab_deploy-1.2-py2.7.egg/rancher_gitlab_deploy/cli.py", line 68, in main
if not environment_id:
UnboundLocalError: local variable 'environment_id' referenced before assignment
Would be great to get same feedback as for nonexistent service:
Error: Unable to find a service called 'betag-wb-frontend', does it exist in Rancher?
Hello.
Thnx for your utility.
But I have a question - how to upgrade only a sidekick? I'm trying to set sidekick name to --new-image, but got the error like this: "Error: Unable to find a service called 'code', does it exist in Rancher?".
Example of stack:
php-fpm:
labels:
io.rancher.sidekicks: code
io.rancher.container.pull_image: always
image: gitlab.local:4567/integrations/docker:php-fpm
volumes_from:
- code
code:
labels:
io.rancher.container.pull_image: always
io.rancher.container.start_once: 'true'
image: gitlab.local:4567/integrations/code:dev
Is it possible to have rancher use compose to be able to deploy the dependencies (databases, reverse proxies, etc) with this tool?
Due to label.split(',')
, my deployment is failing due to the following example:
"io.rancher.container.pull_image=always,traefik.docker.network=my-network,traefik.frontend.rule="Host:example.co.uk,www.example.co.uk",traefik.enable=true,traefik.backend=my-backend-name,traefik.port=8080"
Due to traefik.frontend.rule="Host:example.co.uk,www.example.co.uk"
containing a ,
, it's causing .split
to split that also.
This may or may not be a duplicate of #48, but I've been messing with this for a while trying to figure out why I'm not getting new images pulled down to my docker hosts.
The GitLab task completes successfully:
Checking out 0452d2aa as development...
Skipping Git submodules setup
$ upgrade --stack project-dev --service app --new-image registry.inf.project.com/project/prj_backend:development
Upgrading project-dev/app in environment Default...
Upgrade started, waiting for upgrade to complete...
Finishing upgrade...
Upgrade finished
$ upgrade --stack project-dev --service web
Upgrading project-dev/web in environment Default...
Upgrade started, waiting for upgrade to complete...
Finishing upgrade...
Upgrade finished
Job succeeded
However, the application isn't updating and running docker images
on the host shows old images:
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.inf.project.com/project/prj_frontend master 90e5db513f5b 2 days ago 16.1MB
registry.inf.project.com/project/prj_backend development 1e97dd2ee07f 2 days ago 120MB
Do you have any ideas why this is so?
@cdrx What are you thoughts to creating an end point to remove containers from Rancher?
My use case is I use this currently to add and push changes to review branches but would be up for writing further code to allow for the following:
# With current upgrade options but reword the command
deploy {...options}
# Will destroy the container with current options
teardown {...options}
I was thinking of doing this all in GoLang as a way to learn but happy to use this project if possible?
Would require the package to be bumped to v2.0.0
though, but I could put some changes in to warn of deprecation's if that possible?
Hi, thanks for the tool - it comes really handy and works great out of the box with minimal setup required, exactly how it should.
But unfortunately, it doesn't provide zero-downtime upgrade feature (--start-before-stopped is a bit different). For me it seems it can be easily done with this tool, following this strategy for example:
Hi.
We have an internal rancher deployment under https with a self-signed htttps certificate.
When we use your image we recieve the error "[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed"
There is any way to avoid this whitout using a valid certificate or exposing the rancher url under http?
This is awesome! Thank you!
With Rancher 2.0 not far away, its time to start thinking about supporting the new API version.
I'm considering rewriting this tool in Go, to make it faster / smaller and take advantage of the Rancher API bindings.
Does anyone have any thoughts on that? Will it break your workflow?
Rancher 1.5.6
Latest deploy docker image
I have some container with data only sidekicks that show as 'stopped' after an upgrade via this tool and never actually run once. This both prevents the code from running on those containers as well as marking the stack as degraded. I've tried a few different flags but here is what I am using for options
--finish-upgrade --sidekicks --wait-for-upgrade-to-finish
I have no idea why this error occurred, I tried to run it on my device, it doesn't have any error, but when I run it at Gitlab, it doesn't work.
CI error log
$ upgrade --environment $RANCHER_ENVIRONMENT --stack $RANCHER_STACK --service $RANCHER_SERVICE --new-image $IMAGE_TAG --finish-upgrade
Usage: upgrade [OPTIONS]
Error: Got unexpected extra argument (registry.gitlab.com/<GROUP>/<REPO>:<TAG>)
ERROR: Job failed: exit code 2
gitlab-ci.yml
variables:
IMAGE_TAG: $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA
deploy_staging_api:
stage: deploy
image: cdrx/rancher-gitlab-deploy
only:
- test/staging
script:
- upgrade
--environment $RANCHER_ENVIRONMENT
--stack $RANCHER_STACK
--service $RANCHER_SERVICE
--new-image $IMAGE_TAG
--finish-upgrade
Hi,
I have pipeline with three steps:
I am facing to problem with waiting for migrator in step 2.
Following command:
upgrade --environment Staging --stack $STACK_NAME --service migrator --new-image myImage:$APP_VERSION --finish-upgrade
run migrations which usually running 1-2 minutes but pipeline dont wait for migrations done and start step 3 (run production mode).
It is possible wait for migrator and then continue to next step?
Is it possible to only restart a service? Perhaps as a new feature. Typically, my use case would be restarting a nginx proxy in front of a newly deployed backend.
My Rancher environment is completely migrated to Rancher 2 at this point, and I'm now using an image based on bitnami:kubectl
in my GitLab CI jobs to deploy updated applications. I may never have gotten to this point without the work you did to simplify deployments to Rancher 1.x environments, though, so I just wanted to send a heartfelt thank you for that, and best wishes for whatever projects you're working on now.
Hello, I have an infrastructure where I use rancher 2.5 will this plugin work with that version? I'm having a hard time integrating it. Could you help me?
First off, thanks so much for this project! Rancher and GitLab work great together, but it's nice not to have to maintain the docker-compose/rancher-compose files inside the project in order to upgrade, especially since the Rancher Compose format doesn't always track with the UI features as they get introduced.
I'm wondering if you'd be open to adjusting your build process to tagging versioned images, in addition to latest
? Just so we can pin to a specific version for predictable runs?
Thanks!
I tried the tool and it worked perfect, great job.
I just need to make this work with Rancher host labels, I couldn't find a way to achieve this.
Every time I do an upgrade the tool/Rancher chooses a random host do pull the image, and we would like to manage the deployment with rancher labels, so we can deploy on the desired hosts only by using:
io.rancher.scheduler.affinity:host_label: app=true
Is there any way I can achieve this with this image ???
I would like to be able to dynamically change the container's commands.
Could be a "restart --container-new-command yarn build && Yarn tests"
but for upgrade would be helpful.
upgrade --replace-Command 'yarn install && yarn build && yarn tests'
then
upgrade --replace-Command 'yarn start'
I still have not found anything that could do that. I'm doing a complex roundtrip by creating a container with Rancher CLI inside the Rancher and updating it via Gitlab CI/CD and then doing Rancher-compose up myfile.yml.
In case my yml files are triggered according to the context of the command I want to keep in the container. What I'm doing It works, but it's hard to maintain and teach how to use them.
Cheers
Hi CDRX,
I've just tried this and it worked first time. Thank you so much - great for dev environments, and I'm sure (I just need to get more familiar with gitlab to work out how to segregate the flows for dev and prod)
Thanks again,
Andy
Hi there!
I'm not sure if that's even possible but i was thinking that it would be awesome to run a set of commands as a pre/post deploy hooks of rancher-gitlab-deploy.
For example - rails apps needs to run a $ rake db:migrate
to check if there are any pending database migration and if there are, run them. Right now, i need to do this step manually which kinda sucks. Implementin such feature ins rancher-gitlab-deploy would make this way easier.
Thanks!
Actual behaviour:
When passing multiple variables alongside with the --variables
multiline configuration might be used:
deploy:
stage: deploy
image: cdrx/rancher-gitlab-deploy
script:
- >
upgrade
--variables "
DB_HOST=db.example.com,
DB_USER=foo,
DB_PASSWORD=bar
"
Which result in the following command after YAML is processed:
upgrade --variables " DB_HOST=db.example.com, DB_USER=foo, DB_PASSWORD=bar"
Due to the current string splitting logic, the spaces before the env variables become a part of the variable passed to Rancher (1.6.30) which result in an invalid env variable which appears in the Rancher UI (e.g. <space>DB_HOST
, incl. the space) but is not passed to the container.
Expected outcome:
Variable names and values are trimmed when passing as string with --variables
option.
The new Rancher 2 is using a new api for services. Could that be used with this repo?
I could use a --force-upgrade
option which would allow me to upgrade even a unhealthy service. In fact, some images pushed by my CI might not be working all the time. I seen that inactive
services can also be upgraded. Maybe the option could stop the service and then upgrade it ?
It would be great! Currently I have to get the service healthy by hand in the rancher UI, which is annoying..
Hello,
Thank you dude nice job with this tool !
Just to tell you sometime y have this error and i don t know why..
`$ upgrade --stack jankenpon --service jankenpon --no-start-before-stopping --environment lab
Upgrading JanKenPon/jankenpon in environment Lab...
Upgrade started, waiting for upgrade to complete...
Traceback (most recent call last):
File "/usr/local/bin/upgrade", line 11, in
load_entry_point('rancher-gitlab-deploy==1.2', 'console_scripts', 'rancher-gitlab-deploy')()
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 722, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/rancher_gitlab_deploy-1.2-py2.7.egg/rancher_gitlab_deploy/cli.py", line 200, in main
api, environment_id, service['id']
File "/usr/local/lib/python2.7/site-packages/requests-2.13.0-py2.7.egg/requests/api.py", line 70, in get
return request('get', url, params=params, **kwargs)
File "/usr/local/lib/python2.7/site-packages/requests-2.13.0-py2.7.egg/requests/api.py", line 56, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/site-packages/requests-2.13.0-py2.7.egg/requests/sessions.py", line 488, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/site-packages/requests-2.13.0-py2.7.egg/requests/sessions.py", line 609, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/site-packages/requests-2.13.0-py2.7.egg/requests/adapters.py", line 473, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', BadStatusLine("''",))`
if i retry it s works
thank again.
`$ upgrade --stack jankenpon --service jankenpon --no-start-before-stopping --environment lab
Upgrading JanKenPon/jankenpon in environment Lab...
Upgrade started, waiting for upgrade to complete...
Finishing upgrade...
Upgrade finished
Build succeeded`
rancher ui is on and the url is http://someurl.domaine.ovh:8080
Sometimes it fails mostly second time it then works:
job_deploy:
stage: deploy
dependencies:
- job_build_image
image: cdrx/rancher-gitlab-deploy
script:
- upgrade --environment dod --stack bv-bva --service bv-bva-app
Skipping Git submodules setup
$ upgrade --environment dod --stack bv-bva --service bv-bva-app
Upgrading bv-bva/bv-bva-app in environment dod...
Upgrade started, waiting for upgrade to complete...
Traceback (most recent call last):
File "/usr/local/bin/upgrade", line 11, in
load_entry_point('rancher-gitlab-deploy==1.4', 'console_scripts', 'rancher-gitlab-deploy')()
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 722, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/rancher_gitlab_deploy-1.4-py2.7.egg/rancher_gitlab_deploy/cli.py", line 212, in main
api, environment_id, service['id']
File "/usr/local/lib/python2.7/site-packages/requests-2.18.4-py2.7.egg/requests/api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "/usr/local/lib/python2.7/site-packages/requests-2.18.4-py2.7.egg/requests/api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/local/lib/python2.7/site-packages/requests-2.18.4-py2.7.egg/requests/sessions.py", line 508, in request
resp = self.send(prep, **send_kwargs)
File "/usr/local/lib/python2.7/site-packages/requests-2.18.4-py2.7.egg/requests/sessions.py", line 618, in send
r = adapter.send(request, **kwargs)
File "/usr/local/lib/python2.7/site-packages/requests-2.18.4-py2.7.egg/requests/adapters.py", line 490, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', error(104, 'Connection reset by peer'))
ERROR: Job failed: exit code 1
In Rancher you can specify multiple sidekicks. You add the "--sidekicks" option, which only makes pull a image from old path.
Which is needed that we can specify new image url for each sidekicks.
Hi
I have this error on my gitlab deploy pipeline
this is my deploy script
image: docker:latest
services:
- docker:dind
.......
deploy_devel:
stage: deploy
tags:
- docker
environment:
name: develop
image: cdrx/rancher-gitlab-deploy
script:
- upgrade --rancher-url $URL --rancher-key $MASTER_ACCESS_KEY --rancher-secret $MASTER_SECRET_KEY --stack testing --service web
Any idea why this happens?
Thanks
In case if the value is, for example, an url with query params then split('=')
tries to split by every "=" and it is not what I want.
This is a feature request,
I don't know if this is out of the scope of the project, but most of the projects deployed needs to run some commands after the deployment, for example, Symfony needs to update database schema ...
The actual Rancher API handle this using containerExec ressource.
I can work on that !
We need to catch requests.exceptions.*
and provide a better error message
Is there a way to pass environment variable to upgraded service? Upgraded services have same variables, but I have to i.e. change RELEASE_VERSION after service upgrade.
Hello,
Thanks for your amazing script, got a little question.
After auto deploy, new container is created on another host (multi-nodes rancher config) so my backend URL is changing at each deploy.
Is there a way to upgrade on the same node than the previous container ?
Thanks!
Hi,
I'm currently having a lot of fun with docker, gitlab-ci and rancher :)
and was really happy to see your tool rancher-gitlab-deploy to deploy my build from gitlab to rancher
but unfortunately, i can't make it work.
I've try from gitlab-ci in a deploy job and on my local machine inside your docker.
I end up with the same pb. I'm not fluent in python so i don't understand much ^^
here is my stacktrace:
upgrade --rancher-url http://MY_URL --rancher-key 4242424242 --rancher-secret blablablabala --environment production --stack MY_STACK --service apache --new-image MY_IMAGE --no-finish-upgrade
Traceback (most recent call last):
File "/usr/local/bin/upgrade", line 11, in <module>
load_entry_point('rancher-gitlab-deploy==1.2', 'console_scripts', 'rancher-gitlab-deploy')()
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python2.7/site-packages/click-6.7-py2.7.egg/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/rancher_gitlab_deploy-1.2-py2.7.egg/rancher_gitlab_deploy/cli.py", line 57, in main
environments = r.json()['data']
File "/usr/local/lib/python2.7/site-packages/requests-2.13.0-py2.7.egg/requests/models.py", line 866, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/local/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/lib/python2.7/json/decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
ERROR: Job failed: exit code 1
In some random cases deployment fails to this error
File "/usr/local/lib/python2.7/site-packages/rancher_gitlab_deploy-1.5-py2.7.egg/rancher_gitlab_deploy/cli.py", line 156, in main
upgrade['annotations']['gitlab.com/updateTime'] = datetime.datetime.today().strftime("%Y%m%d%H%M%S");
KeyError: 'annotations'
fix for this is really simple to make, just add before line 156
if not upgrade.get('annotations', None):
upgrade['annotations'] = {}
Hello,
First, this project is very good. First time i try, all work well even in production. i appreciate it :)
I use image rancher-gitlab-deploy image with gitlab-ci to upgrade my project in rancher.
I'im wondering if we can add some optionnal parameter to rollback if upgrade fail, somethings like --rollback.
In rancher api, it's available. See
If you need some others informations, i'm here.
my rancher user private ssl ca,and add --no-ssl-verify,happened error also,key url token is right;
$ upgrade --service $MODULE --new-image $HARBOR_URL/$HARBOR_STORAGE_NAME/$MODULE:$DOCKER_IMAGE_TAG --no-ssl-verify
Error: Unable to connect to Rancher at demo.rancher.com - is the URL and API key right?
/usr/local/lib/python3.8/site-packages/urllib3-1.26.2-py3.8.egg/urllib3/connectionpool.py:1013: InsecureRequestWarning: Unverified HTTPS request is being made to host 'demo.rancher.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#ssl-warnings
warnings.warn(
I want to know if there is a way to restart a container, after another container was upgraded successfully.
Thanks in advance,
Max
This is feature request.
With blue-Green deployement strategy I have 2 stacks (say stack_a
and stack_b
) plus a reverse-proxy container that swaps beetween stack_a
and stack_b
.
The green stack is the stable version (initially stack_a
).
While the blue stack is the development version (initially stack_a
).
The stack where to deploy is determined at runtime by reading the reverse-proxy current status with this command: docker exec -t proxy_container /status.sh
.
After the deploy we can manually swap the blue/green in our reverse-proxy.
After the swap the green stack is stack_b
, and the blue stack is stack_a
.
I'm awaiting your considerations, opinions, questions or suggestions.
Thanks for everyone.
I'm having some trouble with rancher:v1.2.1
$ upgrade --rancher-url $RANCHER_URL --rancher-key $RANCHER_ACCESS_KEY --rancher-secret $RANCHER_SECRET_KEY --environment Default --stack DataWarehouse --service code --new-image $CONTAINER_RELEASE_IMAGE_STABLE
Upgrading datawarehouse/code in environment Default...
Error: Unable to request an upgrade on Rancher
ERROR: Build failed: exit code 1
I've followed API to the url /v1/projects/1a5/services/1s1049
but in actions
I see only remove
action.
The ACCESS_KEY
and SECRET_KEY
has been created by administrator as Account API Keys
, I am missing something?
Hi! I deploy the containers using the upgrade command but I would be interested in using the option --start-before-stopping, that I see is set false by default. I run the upgrade like this:
upgrade --stack MyStack --service phpfpm --finish-upgrade --sidekicks --new-sidekick-image phpfpm-app $CONTAINER_RELEASE_IMAGE
If I add the option in there I got this and fails:
$ upgrade --stack MyStack --service phpfpm --finish-upgrade --sidekicks --new-sidekick-image --start-before-stopping phpfpm-app $CONTAINER_RELEASE_IMAGE
Usage: upgrade [OPTIONS]
How can I change that option?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.