-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
--package
argument for package-ci
#143
Comments
for some clarification - codepipeline artifacts lose their access timestamps, which stops |
We have noticed this issue has not received attention in 1 year. We will close this issue for now. If you think this is in error, please feel free to comment and reopen the issue. |
The ability to re-use the same artifact across dev and prod environments, rather than having to rebuild them, is still needed |
This needs to be reviewed with the team. |
This can be worked around by using
Note that I think this will probably prevent you from using the Mock Lambda Test Tool |
Unfortunately adding the The work around @hauntingEcho suggested about having the CodeUri point to a local zip file will also work with the |
Describe the Feature
Currently, the only way to upload local code packages to S3 & transform the template is via
package-ci
. However, this may rebuild the artifact which may not be desired. Being able to upload local packages to S3 without rebuilding would add reliability to the build process.An example workflow targeted by this change:
for x in */serverless.template; do (cd $(dirname ${x}) && dotnet lambda package --output-package out.zip); done;
for x in */serverless.template; do (cd $(dirname ${x}) && dotnet lambda package-ci); done; stacker build environments/dev.yml stacker.yml
for x in */serverless.template; do (cd $(dirname ${x}) && dotnet lambda package-ci); done; stacker build environments/prod.yml stacker.yml
Is your Feature Request related to a problem?
When trying to deploy the same artifacts across multiple accounts, via a tool which manages dependencies between stacks (like stacker), code is likely to be recompiled rather than re-using the artifact. This can cause an issue if your deployment environment doesn't match your build environment, including e.g. access to private NuGet repositories
Proposed Solution
Add
--package
parameter topackage-ci
, matching its behavior indeploy-serverless
anddeploy-function
Describe alternatives you've considered
Making the S3 bucket readable by downstream accounts - this would allow a lower-security development environment to overwrite packages in use by the higher-security prod environment, rather than allowing prod to handle its own deployment/validation.
Another alternative would be to provide a separate action, which just does the template transformation but requires a pre-existing package.
Environment
AWS CodeBuild, running in AWS CodePipeline
It looks like all that's needed is to add the
Package
option to PackageCICommand's DefaultLocationOption config to match the implementation in DeployServerlessCommandThis is a 🚀 Feature Request
The text was updated successfully, but these errors were encountered: