Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Gemfile.lock read-only in pipelines

Antronin June 21, 2016

It seems I cannot run bundle install in pipelines as the lock file is readonly.

2 answers

0 votes
Antronin June 22, 2016

Hi,

That's my understanging too, hence the error message below:

Installing yard 0.8.7.6 

 There was an error while trying to write to Gemfile.lock. It is likely that you need to allow write permissions for the file at path: /opt/atlassian/bitbucketci/agent/build/Gemfile.lock

0 votes
Sten Pittet
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 21, 2016

Edit for answer:

The initial commands are run as root which means that if you change the user during your pipeline run then you'll lose the ability to write file.

One way to fix that would be to run the following command at the start of your pipeline:

sudo chown -R <user>:<group> *

----------

Hi Peter,

Can you tell me what error you're seeing in the logs? As far as I know the Gemfile.lock file does not need to be updated during bundle install as it contains the list of all the dependencies you need to run your application.

Bundler will simply install those dependencies at the right version on the container.

Sten

movstox June 22, 2016

Not sure if it is the same issue, getting this message on `bundle install` using custom Docker image:

Selection_233.png

Sten Pittet
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 22, 2016

Would you be able to share your YML configuration here? The initial commands are run as root which means that if you change the user during your pipeline run then you'll lose the ability to write file.

One way to fix that would be to run the following command at the start of your pipeline:

sudo chown -R <user>:<group> *

Where <user> and <group> are the relevant value for your configuration.

movstox June 22, 2016

That worked. Had `postgres` user initially in Dockerfile, changed to `root` and it worked. Thanks!

Sten Pittet
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 22, 2016

@Péter Nagy does that solve your issue?

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events