projen-pipelines 0.0.61 → 0.0.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/API.md CHANGED
@@ -436,6 +436,7 @@ Configuration options for the pipeline.
436
436
  | <code><a href="#projen-pipelines.GithubCDKPipeline.engineType">engineType</a></code> | the type of engine this implementation of CDKPipeline is for. |
437
437
  | <code><a href="#projen-pipelines.GithubCDKPipeline.createAssetUpload">createAssetUpload</a></code> | Creates a job to upload assets to AWS as part of the pipeline. |
438
438
  | <code><a href="#projen-pipelines.GithubCDKPipeline.createDeployment">createDeployment</a></code> | Creates a job to deploy the CDK application to AWS. |
439
+ | <code><a href="#projen-pipelines.GithubCDKPipeline.createIndependentDeployment">createIndependentDeployment</a></code> | Creates a job to deploy the CDK application to AWS. |
439
440
 
440
441
  ---
441
442
 
@@ -505,6 +506,22 @@ The deployment stage to create.
505
506
 
506
507
  ---
507
508
 
509
+ ##### `createIndependentDeployment` <a name="createIndependentDeployment" id="projen-pipelines.GithubCDKPipeline.createIndependentDeployment"></a>
510
+
511
+ ```typescript
512
+ public createIndependentDeployment(stage: IndependentStage): void
513
+ ```
514
+
515
+ Creates a job to deploy the CDK application to AWS.
516
+
517
+ ###### `stage`<sup>Required</sup> <a name="stage" id="projen-pipelines.GithubCDKPipeline.createIndependentDeployment.parameter.stage"></a>
518
+
519
+ - *Type:* <a href="#projen-pipelines.IndependentStage">IndependentStage</a>
520
+
521
+ The independent stage to create.
522
+
523
+ ---
524
+
508
525
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
509
526
 
510
527
  | **Name** | **Description** |
@@ -676,6 +693,7 @@ Configuration options for the pipeline.
676
693
  | <code><a href="#projen-pipelines.GitlabCDKPipeline.preSynthesize">preSynthesize</a></code> | Called before synthesis. |
677
694
  | <code><a href="#projen-pipelines.GitlabCDKPipeline.synthesize">synthesize</a></code> | Synthesizes files to the project output directory. |
678
695
  | <code><a href="#projen-pipelines.GitlabCDKPipeline.engineType">engineType</a></code> | *No description.* |
696
+ | <code><a href="#projen-pipelines.GitlabCDKPipeline.createIndependentDeployment">createIndependentDeployment</a></code> | Creates a job to deploy the CDK application to AWS. |
679
697
 
680
698
  ---
681
699
 
@@ -719,6 +737,22 @@ Synthesizes files to the project output directory.
719
737
  public engineType(): PipelineEngine
720
738
  ```
721
739
 
740
+ ##### `createIndependentDeployment` <a name="createIndependentDeployment" id="projen-pipelines.GitlabCDKPipeline.createIndependentDeployment"></a>
741
+
742
+ ```typescript
743
+ public createIndependentDeployment(stage: IndependentStage): void
744
+ ```
745
+
746
+ Creates a job to deploy the CDK application to AWS.
747
+
748
+ ###### `stage`<sup>Required</sup> <a name="stage" id="projen-pipelines.GitlabCDKPipeline.createIndependentDeployment.parameter.stage"></a>
749
+
750
+ - *Type:* <a href="#projen-pipelines.IndependentStage">IndependentStage</a>
751
+
752
+ The independent stage to create.
753
+
754
+ ---
755
+
722
756
  #### Static Functions <a name="Static Functions" id="Static Functions"></a>
723
757
 
724
758
  | **Name** | **Description** |
@@ -890,11 +924,12 @@ const bashCDKPipelineOptions: BashCDKPipelineOptions = { ... }
890
924
  | **Name** | **Type** | **Description** |
891
925
  | --- | --- | --- |
892
926
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.pkgNamespace">pkgNamespace</a></code> | <code>string</code> | This field determines the NPM namespace to be used when packaging CDK cloud assemblies. |
893
- | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]</code> | *No description.* |
927
+ | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]</code> | This field specifies a list of stages that should be deployed using a CI/CD pipeline. |
894
928
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.branchName">branchName</a></code> | <code>string</code> | the name of the branch to deploy from. |
895
929
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.deploySubStacks">deploySubStacks</a></code> | <code>boolean</code> | If set to true all CDK actions will also include <stackName>/* to deploy/diff/destroy sub stacks of the main stack. |
896
- | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
897
- | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
930
+ | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | This specifies details for feature stages. |
931
+ | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.independentStages">independentStages</a></code> | <code><a href="#projen-pipelines.IndependentStage">IndependentStage</a>[]</code> | This specifies details for independent stages. |
932
+ | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | This specifies details for a personal stage. |
898
933
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.postSynthCommands">postSynthCommands</a></code> | <code>string[]</code> | *No description.* |
899
934
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.postSynthSteps">postSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
900
935
  | <code><a href="#projen-pipelines.BashCDKPipelineOptions.property.preInstallCommands">preInstallCommands</a></code> | <code>string[]</code> | *No description.* |
@@ -928,6 +963,8 @@ public readonly stages: DeploymentStage[];
928
963
 
929
964
  - *Type:* <a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]
930
965
 
966
+ This field specifies a list of stages that should be deployed using a CI/CD pipeline.
967
+
931
968
  ---
932
969
 
933
970
  ##### `branchName`<sup>Optional</sup> <a name="branchName" id="projen-pipelines.BashCDKPipelineOptions.property.branchName"></a>
@@ -966,6 +1003,20 @@ public readonly featureStages: StageOptions;
966
1003
 
967
1004
  - *Type:* <a href="#projen-pipelines.StageOptions">StageOptions</a>
968
1005
 
1006
+ This specifies details for feature stages.
1007
+
1008
+ ---
1009
+
1010
+ ##### `independentStages`<sup>Optional</sup> <a name="independentStages" id="projen-pipelines.BashCDKPipelineOptions.property.independentStages"></a>
1011
+
1012
+ ```typescript
1013
+ public readonly independentStages: IndependentStage[];
1014
+ ```
1015
+
1016
+ - *Type:* <a href="#projen-pipelines.IndependentStage">IndependentStage</a>[]
1017
+
1018
+ This specifies details for independent stages.
1019
+
969
1020
  ---
970
1021
 
971
1022
  ##### `personalStage`<sup>Optional</sup> <a name="personalStage" id="projen-pipelines.BashCDKPipelineOptions.property.personalStage"></a>
@@ -976,6 +1027,8 @@ public readonly personalStage: StageOptions;
976
1027
 
977
1028
  - *Type:* <a href="#projen-pipelines.StageOptions">StageOptions</a>
978
1029
 
1030
+ This specifies details for a personal stage.
1031
+
979
1032
  ---
980
1033
 
981
1034
  ##### `postSynthCommands`<sup>Optional</sup> <a name="postSynthCommands" id="projen-pipelines.BashCDKPipelineOptions.property.postSynthCommands"></a>
@@ -1104,11 +1157,12 @@ const cDKPipelineOptions: CDKPipelineOptions = { ... }
1104
1157
  | **Name** | **Type** | **Description** |
1105
1158
  | --- | --- | --- |
1106
1159
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.pkgNamespace">pkgNamespace</a></code> | <code>string</code> | This field determines the NPM namespace to be used when packaging CDK cloud assemblies. |
1107
- | <code><a href="#projen-pipelines.CDKPipelineOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]</code> | *No description.* |
1160
+ | <code><a href="#projen-pipelines.CDKPipelineOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]</code> | This field specifies a list of stages that should be deployed using a CI/CD pipeline. |
1108
1161
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.branchName">branchName</a></code> | <code>string</code> | the name of the branch to deploy from. |
1109
1162
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.deploySubStacks">deploySubStacks</a></code> | <code>boolean</code> | If set to true all CDK actions will also include <stackName>/* to deploy/diff/destroy sub stacks of the main stack. |
1110
- | <code><a href="#projen-pipelines.CDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1111
- | <code><a href="#projen-pipelines.CDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1163
+ | <code><a href="#projen-pipelines.CDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | This specifies details for feature stages. |
1164
+ | <code><a href="#projen-pipelines.CDKPipelineOptions.property.independentStages">independentStages</a></code> | <code><a href="#projen-pipelines.IndependentStage">IndependentStage</a>[]</code> | This specifies details for independent stages. |
1165
+ | <code><a href="#projen-pipelines.CDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | This specifies details for a personal stage. |
1112
1166
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.postSynthCommands">postSynthCommands</a></code> | <code>string[]</code> | *No description.* |
1113
1167
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.postSynthSteps">postSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1114
1168
  | <code><a href="#projen-pipelines.CDKPipelineOptions.property.preInstallCommands">preInstallCommands</a></code> | <code>string[]</code> | *No description.* |
@@ -1142,6 +1196,8 @@ public readonly stages: DeploymentStage[];
1142
1196
 
1143
1197
  - *Type:* <a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]
1144
1198
 
1199
+ This field specifies a list of stages that should be deployed using a CI/CD pipeline.
1200
+
1145
1201
  ---
1146
1202
 
1147
1203
  ##### `branchName`<sup>Optional</sup> <a name="branchName" id="projen-pipelines.CDKPipelineOptions.property.branchName"></a>
@@ -1180,6 +1236,20 @@ public readonly featureStages: StageOptions;
1180
1236
 
1181
1237
  - *Type:* <a href="#projen-pipelines.StageOptions">StageOptions</a>
1182
1238
 
1239
+ This specifies details for feature stages.
1240
+
1241
+ ---
1242
+
1243
+ ##### `independentStages`<sup>Optional</sup> <a name="independentStages" id="projen-pipelines.CDKPipelineOptions.property.independentStages"></a>
1244
+
1245
+ ```typescript
1246
+ public readonly independentStages: IndependentStage[];
1247
+ ```
1248
+
1249
+ - *Type:* <a href="#projen-pipelines.IndependentStage">IndependentStage</a>[]
1250
+
1251
+ This specifies details for independent stages.
1252
+
1183
1253
  ---
1184
1254
 
1185
1255
  ##### `personalStage`<sup>Optional</sup> <a name="personalStage" id="projen-pipelines.CDKPipelineOptions.property.personalStage"></a>
@@ -1190,6 +1260,8 @@ public readonly personalStage: StageOptions;
1190
1260
 
1191
1261
  - *Type:* <a href="#projen-pipelines.StageOptions">StageOptions</a>
1192
1262
 
1263
+ This specifies details for a personal stage.
1264
+
1193
1265
  ---
1194
1266
 
1195
1267
  ##### `postSynthCommands`<sup>Optional</sup> <a name="postSynthCommands" id="projen-pipelines.CDKPipelineOptions.property.postSynthCommands"></a>
@@ -1267,6 +1339,8 @@ This field is used to define a prefix for the AWS Stack resources created during
1267
1339
 
1268
1340
  ### DeploymentStage <a name="DeploymentStage" id="projen-pipelines.DeploymentStage"></a>
1269
1341
 
1342
+ Options for stages that are part of the pipeline.
1343
+
1270
1344
  #### Initializer <a name="Initializer" id="projen-pipelines.DeploymentStage.Initializer"></a>
1271
1345
 
1272
1346
  ```typescript
@@ -1387,11 +1461,12 @@ const githubCDKPipelineOptions: GithubCDKPipelineOptions = { ... }
1387
1461
  | **Name** | **Type** | **Description** |
1388
1462
  | --- | --- | --- |
1389
1463
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.pkgNamespace">pkgNamespace</a></code> | <code>string</code> | This field determines the NPM namespace to be used when packaging CDK cloud assemblies. |
1390
- | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]</code> | *No description.* |
1464
+ | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]</code> | This field specifies a list of stages that should be deployed using a CI/CD pipeline. |
1391
1465
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.branchName">branchName</a></code> | <code>string</code> | the name of the branch to deploy from. |
1392
1466
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.deploySubStacks">deploySubStacks</a></code> | <code>boolean</code> | If set to true all CDK actions will also include <stackName>/* to deploy/diff/destroy sub stacks of the main stack. |
1393
- | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1394
- | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1467
+ | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | This specifies details for feature stages. |
1468
+ | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.independentStages">independentStages</a></code> | <code><a href="#projen-pipelines.IndependentStage">IndependentStage</a>[]</code> | This specifies details for independent stages. |
1469
+ | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | This specifies details for a personal stage. |
1395
1470
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.postSynthCommands">postSynthCommands</a></code> | <code>string[]</code> | *No description.* |
1396
1471
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.postSynthSteps">postSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1397
1472
  | <code><a href="#projen-pipelines.GithubCDKPipelineOptions.property.preInstallCommands">preInstallCommands</a></code> | <code>string[]</code> | *No description.* |
@@ -1428,6 +1503,8 @@ public readonly stages: DeploymentStage[];
1428
1503
 
1429
1504
  - *Type:* <a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]
1430
1505
 
1506
+ This field specifies a list of stages that should be deployed using a CI/CD pipeline.
1507
+
1431
1508
  ---
1432
1509
 
1433
1510
  ##### `branchName`<sup>Optional</sup> <a name="branchName" id="projen-pipelines.GithubCDKPipelineOptions.property.branchName"></a>
@@ -1466,6 +1543,20 @@ public readonly featureStages: StageOptions;
1466
1543
 
1467
1544
  - *Type:* <a href="#projen-pipelines.StageOptions">StageOptions</a>
1468
1545
 
1546
+ This specifies details for feature stages.
1547
+
1548
+ ---
1549
+
1550
+ ##### `independentStages`<sup>Optional</sup> <a name="independentStages" id="projen-pipelines.GithubCDKPipelineOptions.property.independentStages"></a>
1551
+
1552
+ ```typescript
1553
+ public readonly independentStages: IndependentStage[];
1554
+ ```
1555
+
1556
+ - *Type:* <a href="#projen-pipelines.IndependentStage">IndependentStage</a>[]
1557
+
1558
+ This specifies details for independent stages.
1559
+
1469
1560
  ---
1470
1561
 
1471
1562
  ##### `personalStage`<sup>Optional</sup> <a name="personalStage" id="projen-pipelines.GithubCDKPipelineOptions.property.personalStage"></a>
@@ -1476,6 +1567,8 @@ public readonly personalStage: StageOptions;
1476
1567
 
1477
1568
  - *Type:* <a href="#projen-pipelines.StageOptions">StageOptions</a>
1478
1569
 
1570
+ This specifies details for a personal stage.
1571
+
1479
1572
  ---
1480
1573
 
1481
1574
  ##### `postSynthCommands`<sup>Optional</sup> <a name="postSynthCommands" id="projen-pipelines.GithubCDKPipelineOptions.property.postSynthCommands"></a>
@@ -1677,11 +1770,24 @@ const githubStepConfig: GithubStepConfig = { ... }
1677
1770
 
1678
1771
  | **Name** | **Type** | **Description** |
1679
1772
  | --- | --- | --- |
1773
+ | <code><a href="#projen-pipelines.GithubStepConfig.property.env">env</a></code> | <code>{[ key: string ]: string}</code> | Additional environment variables to set for this step. |
1680
1774
  | <code><a href="#projen-pipelines.GithubStepConfig.property.needs">needs</a></code> | <code>string[]</code> | Dependencies which need to be completed before this step. |
1681
1775
  | <code><a href="#projen-pipelines.GithubStepConfig.property.steps">steps</a></code> | <code>projen.github.workflows.JobStep[]</code> | Commands wrapped as GitHub Action job steps. |
1682
1776
 
1683
1777
  ---
1684
1778
 
1779
+ ##### `env`<sup>Required</sup> <a name="env" id="projen-pipelines.GithubStepConfig.property.env"></a>
1780
+
1781
+ ```typescript
1782
+ public readonly env: {[ key: string ]: string};
1783
+ ```
1784
+
1785
+ - *Type:* {[ key: string ]: string}
1786
+
1787
+ Additional environment variables to set for this step.
1788
+
1789
+ ---
1790
+
1685
1791
  ##### `needs`<sup>Required</sup> <a name="needs" id="projen-pipelines.GithubStepConfig.property.needs"></a>
1686
1792
 
1687
1793
  ```typescript
@@ -1723,11 +1829,12 @@ const gitlabCDKPipelineOptions: GitlabCDKPipelineOptions = { ... }
1723
1829
  | **Name** | **Type** | **Description** |
1724
1830
  | --- | --- | --- |
1725
1831
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.pkgNamespace">pkgNamespace</a></code> | <code>string</code> | This field determines the NPM namespace to be used when packaging CDK cloud assemblies. |
1726
- | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]</code> | *No description.* |
1832
+ | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.stages">stages</a></code> | <code><a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]</code> | This field specifies a list of stages that should be deployed using a CI/CD pipeline. |
1727
1833
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.branchName">branchName</a></code> | <code>string</code> | the name of the branch to deploy from. |
1728
1834
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.deploySubStacks">deploySubStacks</a></code> | <code>boolean</code> | If set to true all CDK actions will also include <stackName>/* to deploy/diff/destroy sub stacks of the main stack. |
1729
- | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1730
- | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | *No description.* |
1835
+ | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.featureStages">featureStages</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | This specifies details for feature stages. |
1836
+ | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.independentStages">independentStages</a></code> | <code><a href="#projen-pipelines.IndependentStage">IndependentStage</a>[]</code> | This specifies details for independent stages. |
1837
+ | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.personalStage">personalStage</a></code> | <code><a href="#projen-pipelines.StageOptions">StageOptions</a></code> | This specifies details for a personal stage. |
1731
1838
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.postSynthCommands">postSynthCommands</a></code> | <code>string[]</code> | *No description.* |
1732
1839
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.postSynthSteps">postSynthSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
1733
1840
  | <code><a href="#projen-pipelines.GitlabCDKPipelineOptions.property.preInstallCommands">preInstallCommands</a></code> | <code>string[]</code> | *No description.* |
@@ -1764,6 +1871,8 @@ public readonly stages: DeploymentStage[];
1764
1871
 
1765
1872
  - *Type:* <a href="#projen-pipelines.DeploymentStage">DeploymentStage</a>[]
1766
1873
 
1874
+ This field specifies a list of stages that should be deployed using a CI/CD pipeline.
1875
+
1767
1876
  ---
1768
1877
 
1769
1878
  ##### `branchName`<sup>Optional</sup> <a name="branchName" id="projen-pipelines.GitlabCDKPipelineOptions.property.branchName"></a>
@@ -1802,6 +1911,20 @@ public readonly featureStages: StageOptions;
1802
1911
 
1803
1912
  - *Type:* <a href="#projen-pipelines.StageOptions">StageOptions</a>
1804
1913
 
1914
+ This specifies details for feature stages.
1915
+
1916
+ ---
1917
+
1918
+ ##### `independentStages`<sup>Optional</sup> <a name="independentStages" id="projen-pipelines.GitlabCDKPipelineOptions.property.independentStages"></a>
1919
+
1920
+ ```typescript
1921
+ public readonly independentStages: IndependentStage[];
1922
+ ```
1923
+
1924
+ - *Type:* <a href="#projen-pipelines.IndependentStage">IndependentStage</a>[]
1925
+
1926
+ This specifies details for independent stages.
1927
+
1805
1928
  ---
1806
1929
 
1807
1930
  ##### `personalStage`<sup>Optional</sup> <a name="personalStage" id="projen-pipelines.GitlabCDKPipelineOptions.property.personalStage"></a>
@@ -1812,6 +1935,8 @@ public readonly personalStage: StageOptions;
1812
1935
 
1813
1936
  - *Type:* <a href="#projen-pipelines.StageOptions">StageOptions</a>
1814
1937
 
1938
+ This specifies details for a personal stage.
1939
+
1815
1940
  ---
1816
1941
 
1817
1942
  ##### `postSynthCommands`<sup>Optional</sup> <a name="postSynthCommands" id="projen-pipelines.GitlabCDKPipelineOptions.property.postSynthCommands"></a>
@@ -2113,6 +2238,7 @@ const gitlabStepConfig: GitlabStepConfig = { ... }
2113
2238
  | **Name** | **Type** | **Description** |
2114
2239
  | --- | --- | --- |
2115
2240
  | <code><a href="#projen-pipelines.GitlabStepConfig.property.commands">commands</a></code> | <code>string[]</code> | Shell commands to execute in this step. |
2241
+ | <code><a href="#projen-pipelines.GitlabStepConfig.property.env">env</a></code> | <code>{[ key: string ]: string}</code> | Additional environment variables to set for this step. |
2116
2242
  | <code><a href="#projen-pipelines.GitlabStepConfig.property.extensions">extensions</a></code> | <code>string[]</code> | List of job extensions related to the step. |
2117
2243
  | <code><a href="#projen-pipelines.GitlabStepConfig.property.needs">needs</a></code> | <code>projen.gitlab.Need[]</code> | Dependencies which need to be completed before this step. |
2118
2244
 
@@ -2130,6 +2256,18 @@ Shell commands to execute in this step.
2130
2256
 
2131
2257
  ---
2132
2258
 
2259
+ ##### `env`<sup>Required</sup> <a name="env" id="projen-pipelines.GitlabStepConfig.property.env"></a>
2260
+
2261
+ ```typescript
2262
+ public readonly env: {[ key: string ]: string};
2263
+ ```
2264
+
2265
+ - *Type:* {[ key: string ]: string}
2266
+
2267
+ Additional environment variables to set for this step.
2268
+
2269
+ ---
2270
+
2133
2271
  ##### `extensions`<sup>Required</sup> <a name="extensions" id="projen-pipelines.GitlabStepConfig.property.extensions"></a>
2134
2272
 
2135
2273
  ```typescript
@@ -2154,8 +2292,114 @@ Dependencies which need to be completed before this step.
2154
2292
 
2155
2293
  ---
2156
2294
 
2295
+ ### IndependentStage <a name="IndependentStage" id="projen-pipelines.IndependentStage"></a>
2296
+
2297
+ Options for stages that are not part of the pipeline.
2298
+
2299
+ #### Initializer <a name="Initializer" id="projen-pipelines.IndependentStage.Initializer"></a>
2300
+
2301
+ ```typescript
2302
+ import { IndependentStage } from 'projen-pipelines'
2303
+
2304
+ const independentStage: IndependentStage = { ... }
2305
+ ```
2306
+
2307
+ #### Properties <a name="Properties" id="Properties"></a>
2308
+
2309
+ | **Name** | **Type** | **Description** |
2310
+ | --- | --- | --- |
2311
+ | <code><a href="#projen-pipelines.IndependentStage.property.env">env</a></code> | <code><a href="#projen-pipelines.Environment">Environment</a></code> | *No description.* |
2312
+ | <code><a href="#projen-pipelines.IndependentStage.property.name">name</a></code> | <code>string</code> | *No description.* |
2313
+ | <code><a href="#projen-pipelines.IndependentStage.property.postDeploySteps">postDeploySteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
2314
+ | <code><a href="#projen-pipelines.IndependentStage.property.postDiffSteps">postDiffSteps</a></code> | <code><a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]</code> | *No description.* |
2315
+
2316
+ ---
2317
+
2318
+ ##### `env`<sup>Required</sup> <a name="env" id="projen-pipelines.IndependentStage.property.env"></a>
2319
+
2320
+ ```typescript
2321
+ public readonly env: Environment;
2322
+ ```
2323
+
2324
+ - *Type:* <a href="#projen-pipelines.Environment">Environment</a>
2325
+
2326
+ ---
2327
+
2328
+ ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.IndependentStage.property.name"></a>
2329
+
2330
+ ```typescript
2331
+ public readonly name: string;
2332
+ ```
2333
+
2334
+ - *Type:* string
2335
+
2336
+ ---
2337
+
2338
+ ##### `postDeploySteps`<sup>Optional</sup> <a name="postDeploySteps" id="projen-pipelines.IndependentStage.property.postDeploySteps"></a>
2339
+
2340
+ ```typescript
2341
+ public readonly postDeploySteps: PipelineStep[];
2342
+ ```
2343
+
2344
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
2345
+
2346
+ ---
2347
+
2348
+ ##### `postDiffSteps`<sup>Optional</sup> <a name="postDiffSteps" id="projen-pipelines.IndependentStage.property.postDiffSteps"></a>
2349
+
2350
+ ```typescript
2351
+ public readonly postDiffSteps: PipelineStep[];
2352
+ ```
2353
+
2354
+ - *Type:* <a href="#projen-pipelines.PipelineStep">PipelineStep</a>[]
2355
+
2356
+ ---
2357
+
2358
+ ### NamedStageOptions <a name="NamedStageOptions" id="projen-pipelines.NamedStageOptions"></a>
2359
+
2360
+ Options for a CDK stage with a name.
2361
+
2362
+ #### Initializer <a name="Initializer" id="projen-pipelines.NamedStageOptions.Initializer"></a>
2363
+
2364
+ ```typescript
2365
+ import { NamedStageOptions } from 'projen-pipelines'
2366
+
2367
+ const namedStageOptions: NamedStageOptions = { ... }
2368
+ ```
2369
+
2370
+ #### Properties <a name="Properties" id="Properties"></a>
2371
+
2372
+ | **Name** | **Type** | **Description** |
2373
+ | --- | --- | --- |
2374
+ | <code><a href="#projen-pipelines.NamedStageOptions.property.env">env</a></code> | <code><a href="#projen-pipelines.Environment">Environment</a></code> | *No description.* |
2375
+ | <code><a href="#projen-pipelines.NamedStageOptions.property.name">name</a></code> | <code>string</code> | *No description.* |
2376
+
2377
+ ---
2378
+
2379
+ ##### `env`<sup>Required</sup> <a name="env" id="projen-pipelines.NamedStageOptions.property.env"></a>
2380
+
2381
+ ```typescript
2382
+ public readonly env: Environment;
2383
+ ```
2384
+
2385
+ - *Type:* <a href="#projen-pipelines.Environment">Environment</a>
2386
+
2387
+ ---
2388
+
2389
+ ##### `name`<sup>Required</sup> <a name="name" id="projen-pipelines.NamedStageOptions.property.name"></a>
2390
+
2391
+ ```typescript
2392
+ public readonly name: string;
2393
+ ```
2394
+
2395
+ - *Type:* string
2396
+
2397
+ ---
2398
+
2157
2399
  ### StageOptions <a name="StageOptions" id="projen-pipelines.StageOptions"></a>
2158
2400
 
2401
+ Options for a CDK stage like the target environment.
2402
+
2159
2403
  #### Initializer <a name="Initializer" id="projen-pipelines.StageOptions.Initializer"></a>
2160
2404
 
2161
2405
  ```typescript
@@ -2228,7 +2472,7 @@ public toBash(): BashStepConfig
2228
2472
 
2229
2473
  Generates a configuration for a bash script step.
2230
2474
 
2231
- Must be implemented by subclasses.
2475
+ Should be implemented by subclasses.
2232
2476
 
2233
2477
  ##### `toGithub` <a name="toGithub" id="projen-pipelines.PipelineStep.toGithub"></a>
2234
2478
 
@@ -2238,7 +2482,7 @@ public toGithub(): GithubStepConfig
2238
2482
 
2239
2483
  Generates a configuration for a GitHub Actions step.
2240
2484
 
2241
- Must be implemented by subclasses.
2485
+ Should be implemented by subclasses.
2242
2486
 
2243
2487
  ##### `toGitlab` <a name="toGitlab" id="projen-pipelines.PipelineStep.toGitlab"></a>
2244
2488
 
@@ -2248,7 +2492,7 @@ public toGitlab(): GitlabStepConfig
2248
2492
 
2249
2493
  Generates a configuration for a GitLab CI step.
2250
2494
 
2251
- Must be implemented by subclasses.
2495
+ Should be implemented by subclasses.
2252
2496
 
2253
2497
 
2254
2498
 
package/README.md CHANGED
@@ -195,3 +195,17 @@ git push origin my-branch
195
195
  8. **Submit a Pull Request**: Once your changes are ready to be reviewed, create a pull request from your forked repository's branch into the `main` branch of this repository.
196
196
 
197
197
  Your pull request will be reviewed and hopefully merged quickly. Thanks for contributing!
198
+
199
+ ## Known issues
200
+
201
+ ### Environment variable not recognized during `npx projen`
202
+
203
+ When attempting to run `npx projen`, users may encounter an error related to environment variable substitution within configuration files. Specifically, the `${GITHUB_TOKEN}` placeholder fails to be replaced.
204
+
205
+ #### Solution
206
+
207
+ To resolve this issue, prefix the `npx projen` command with the `GITHUB_TOKEN=` environment variable:
208
+
209
+ ```bash
210
+ GITHUB_TOKEN= npx projen
211
+ ```
@@ -20,11 +20,28 @@ export interface Environment {
20
20
  */
21
21
  readonly region: string;
22
22
  }
23
- export interface DeploymentStage {
24
- readonly name: string;
25
- readonly env: Environment;
23
+ /**
24
+ * Options for stages that are part of the pipeline
25
+ */
26
+ export interface DeploymentStage extends NamedStageOptions {
26
27
  readonly manualApproval?: boolean;
27
28
  }
29
+ /**
30
+ * Options for stages that are not part of the pipeline
31
+ */
32
+ export interface IndependentStage extends NamedStageOptions {
33
+ readonly postDiffSteps?: PipelineStep[];
34
+ readonly postDeploySteps?: PipelineStep[];
35
+ }
36
+ /**
37
+ * Options for a CDK stage with a name
38
+ */
39
+ export interface NamedStageOptions extends StageOptions {
40
+ readonly name: string;
41
+ }
42
+ /**
43
+ * Options for a CDK stage like the target environment
44
+ */
28
45
  export interface StageOptions {
29
46
  readonly env: Environment;
30
47
  }
@@ -60,8 +77,15 @@ export interface CDKPipelineOptions {
60
77
  * better organization and ease of management.
61
78
  */
62
79
  readonly pkgNamespace: string;
80
+ /**
81
+ * This field specifies a list of stages that should be deployed using a CI/CD pipeline
82
+ */
63
83
  readonly stages: DeploymentStage[];
84
+ /** This specifies details for independent stages */
85
+ readonly independentStages?: IndependentStage[];
86
+ /** This specifies details for a personal stage */
64
87
  readonly personalStage?: StageOptions;
88
+ /** This specifies details for feature stages */
65
89
  readonly featureStages?: StageOptions;
66
90
  readonly preInstallCommands?: string[];
67
91
  readonly preSynthCommands?: string[];
@@ -112,5 +136,10 @@ export declare abstract class CDKPipeline extends Component {
112
136
  * @param {DeployStageOptions} stage - The stage to create
113
137
  */
114
138
  protected createPipelineStage(stage: DeploymentStage): void;
139
+ /**
140
+ * This method sets up tasks for the independent stages including deployment and comparing changes (diff).
141
+ * @param {NamedStageOptions} stage - The stage to create
142
+ */
143
+ protected createIndependentStage(stage: IndependentStage): void;
115
144
  protected getCliStackPattern(stage: string): string;
116
145
  }