Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Why does zip work differently than composer archive in pipelines?

aberkow
Contributor
August 21, 2017

I'm trying to understand why (and how) creating zip files which include composer's vendor directory works differently in pipelines depending on if I use `composer archive` or `zip`.

With the following `bitbucket-pipelines.yml` script, I can successfully create a zip file for my project that includes composer's vendor directory with all of its contents.

develop:
- step:
script:
- composer install --no-dev
- zip -FSr ${BITBUCKET_REPO_SLUG}-develop.zip ./ -x@exclude.lst
- curl -u ${BB_AUTH_STRING} -X POST "https://api.bitbucket.org/2.0/repositories/${BITBUCKET_REPO_OWNER}/${BITBUCKET_REPO_SLUG}/downloads" --form files=@"${BITBUCKET_REPO_SLUG}-develop.zip"

However, if I replace the `zip` command with 

composer archive --format=zip --file ${BITBUCKET_REPO_SLUG}-develop

the vendor directory is sometimes either not created at all in the zip file, or it is, but doesn't include any files. There doesn't seem to be any pattern as to why it includes these directories or not.

For reference, my composer.json file includes this

"archive": {
"exclude": [
".*",
"*.yml",
"node_modules/",
"www/",
"sass/",
"yarn.lock"
]
}

The exclude.lst file includes the same list but with a different syntax.

 
 
 

1 answer

1 accepted

0 votes
Answer accepted
aberkow
Contributor
August 22, 2017

Never mind. The key was to explicitly include the vendor directory and all its contents with 

"archive": {
"exclude": [
"!vendor/*" //etc...
]
}

Suggest an answer

Log in or Sign up to answer
TAGS
atlassian, bitbucket, ci/cd workflows, scale ci cd, bitbucket webinar, devops pipeline, continuous integration, continuous delivery, atlassian learning, software automation, developer tools, build and deploy, pipeline optimization, atlassian community

Scale CI/CD workflows faster with Bitbucket Pipelines 🪣

Join this webinar on June 25/26th to learn how to build secure CI/CD workflows using Bitbucket Pipelines and get tips from our own engineers on how to speed up builds and operate at scale.

Register today
AUG Leaders

Atlassian Community Events