-
Notifications
You must be signed in to change notification settings - Fork 4.1k
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
[pipelines] Self mutation deploys everything not just the pipeline #9669
Comments
As far as I can tell this ticket contains 3 bug reports:
I don't know what that means. Can you explain what you mean by "made outside of the pipeline"?
That is odd. I'm suprised by the fact that you didn't add an Other than that, is there a place I can find this code to play with it for myself?
It will not be a dedicated stage; Stages contain Stacks contain Constructs. If you put the ApplicationLoadBalancedFargateService into the same stack as your S3 buckets, that's where it will go. I don't understand what "it tried to build docker" means. |
My understanding is that the UpdatePipeline Part of the Pipeline is where the pipeline rebuilds itself. One problem is that it not only adjusts the pipeline, but deploys all the infrastructure inside the UpdatePipeline part, i.e. the Bucket and tries to build the docker image and deploy it, but that fails, which is probably not really a problem because it shouldn't run at this point anyway.
I'm adding my account ID and will check if that changes anything.
with stage, I meant a dedicated step inside the Code Pipeline, not a stage in CDK ^^
@rix0rrr I'll extract the code and post the repo soon If the pipeline construct will go stable, having a somewhat complex example would go a long way to understanding how it all works |
As far as I can tell, adding the account ID didn't change anything. I still don't have the deploy step in CodePipeline and the UpdatePipeline step still applies infrastructure changes besides the pipeline itself (e.g. a new bucket inside the v2 construct). repo with the code: |
Not sure if I missed some news, but is it possible to publish assets(ecs/lambda) during synth and deploy it with Code Deploy, without the pipelines construct. I used Circle CI in the past, but running cdk deploy as a last step in the pipeline has a couple of problems. |
This needs to be a https://github.com/jonny-rimek/jonny/blob/master/lib/v2.ts#L5 |
It might be possible, but has some assembly required. After |
@rix0rrr such a silly mistake^^ thanks for the help. It definitely creates the prepare and the deploy step. I'm stopping using this construct for now until it is stable. |
In current recommended CDK Pipelines usage, the construct tree looks like this: ``` App -> Stack1 -> Stage -> Stack2 -> Resource ``` It's an easy mistake to forget `Stack2` (or make it a generic `Construct` instead), in which case the hierachy looks like the one below and `Stack1` will render Resource in its CloudFormation template: ``` App -> Stack1 -> Stage -> Construct -> Resource ``` This case should not have been allowed in the first place: `Stage`s define a new assembly scope and so `Stack1` does not exist from the point of view of `Resource`. Change `Stack.of()` to fail to find `Stack1` in this case, so that it becomes illegal to define `Resource` in this position. Fixes #9792, relates to #9669.
…0156) In current recommended CDK Pipelines usage, the construct tree looks like this: ``` App -> Stack1 -> Stage -> Stack2 -> Resource ``` It's an easy mistake to forget `Stack2` (or make it a generic `Construct` instead), in which case the hierachy looks like the one below and `Stack1` will render Resource in its CloudFormation template: ``` App -> Stack1 -> Stage -> Construct -> Resource ``` This case should not have been allowed in the first place: `Stage`s define a new assembly scope and so `Stack1` does not exist from the point of view of `Resource`. Change `Stack.of()` to fail to find `Stack1` in this case, so that it becomes illegal to define `Resource` in this position. Fixes #9792, relates to #9669. ---- *By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license*
The update pipeline deploys changes that are made outside of the pipeline, e.g. creating a s3 bucket
this is the pipeline that got created

to my surprise it doesn't contain deploy stages, which is what I expected from the documentation and examples
Currently the v2 stack only contains 2 buckets, if I add an ApplicationLoadBalancedFargateService, it tried to build docker in this stage too, instead of creating a dedicated stage, which is the desired behaviour, afaik.
Environment
This is 🐛 Bug Report
as far as I can tell I followed all the tutorials to the letter, I have no idea whats wrong
The text was updated successfully, but these errors were encountered: