Skip to content

Commit 2bd1155

Browse files
Resolve spelling issues and image markdown
1 parent dbddfe3 commit 2bd1155

10 files changed

+75
-58
lines changed

dictionary-octopus.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
ABCXYZ
22
accounttest
3+
actionid
34
advfirewall
45
ALLUSERSPROFILE
56
anglin
@@ -26,6 +27,7 @@ Bento
2627
bootstrap
2728
bootstrapped
2829
bootstrapper
30+
bufio
2931
Ceph
3032
changeit
3133
checkservices
@@ -62,6 +64,8 @@ dearmor
6264
decryptable
6365
deployers
6466
deploymentannotation
67+
deploymentprocess
68+
deploymentprocesses
6569
deployto
6670
DESTKEY
6771
DIND
@@ -81,6 +85,7 @@ fanout
8185
Fargate
8286
feedcred
8387
Feedz.io
88+
fieldnames
8489
fieldset
8590
Fifield
8691
figcaption
@@ -99,6 +104,7 @@ groff
99104
Groupsand
100105
gruntfile
101106
gulpfile
107+
hasattr
102108
hastscript
103109
healthcheck
104110
Helloworld
@@ -123,6 +129,7 @@ istioctl
123129
itemprop
124130
itemscope
125131
itemtype
132+
Itoa
126133
ITSM
127134
jjones
128135
jsondecode
@@ -137,12 +144,14 @@ kustomize
137144
lastmod
138145
latestdeployments
139146
libicu
147+
libraryvariablesets
140148
lifecycles
141149
linecap
142150
linejoin
143151
linkerd
144152
Linq
145153
Liquibase
154+
lstrip
146155
ltsc
147156
maintenanceconfiguration
148157
majeure
@@ -181,6 +190,7 @@ nosniff
181190
NTLM
182191
nupkg
183192
NVARCHAR
193+
O_WRONLY
184194
Obtainingthe
185195
Octo
186196
octoadmin
@@ -226,6 +236,7 @@ Println
226236
PROGRAMFILES
227237
proxied
228238
proxying
239+
pscustomobject
229240
pwsh
230241
pycryptodome
231242
querystring
@@ -249,6 +260,7 @@ rolename
249260
ROOTDIR
250261
rootelement
251262
RSASSA
263+
rstrip
252264
runbook
253265
runbooks
254266
runtimes
@@ -278,6 +290,8 @@ SSRS
278290
statefulset
279291
statefulsets
280292
sthumb
293+
strconv
294+
struct
281295
stylesheet
282296
subcontext
283297
sunsetting
@@ -311,6 +325,7 @@ upgrader
311325
urlset
312326
useronboarding
313327
variablename
328+
variableset
314329
vhdx
315330
Voltron
316331
WCAG
@@ -325,6 +340,8 @@ WIXUI
325340
workerpool
326341
workerpools
327342
workertools
343+
writeheader
344+
writerow
328345
xlarge
329346
xmark
330347
xvzf

src/pages/docs/deployments/azure/azure-environments.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ Once you have entered the environment name and endpoint values you should **Save
4141
Whenever you are using an Azure step template, once you've selected an account its settings will be used to determine the endpoints for all of the API operations. So lists like Resource Groups and Web Apps will be loaded using the endpoints defined by the Account.
4242

4343
## Calamari and deployments
44-
When a deployment executes, the values for the environment and endpoints will be passed to Calamari if they have been overridden (i.e. they aren't blank). You will be able to see the values if you have [OctopusPrintVariables set to true](/docs/support/debug-problems-with-octopus-variables/#DebugproblemswithOctopusvariables-Writethevariablestothedeploymentlog) and Calamari will also always log an information message to tell you if it's using overridden values and what they are.
44+
When a deployment executes, the values for the environment and endpoints will be passed to Calamari if they have been overridden (i.e. they aren't blank). You will be able to see the values if you have [OctopusPrintVariables set to true](/docs/support/debug-problems-with-octopus-variables/#write-variables-to-deployment-log) and Calamari will also always log an information message to tell you if it's using overridden values and what they are.
4545

4646
## Learn more
4747

src/pages/docs/support/debug-problems-with-octopus-variables.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ navOrder: 1
99

1010
Sometimes a variable used during deployment may have a different value from the one you expect. Here are the first steps to debugging these issues.
1111

12-
## Check the variable snapshot for the release {#DebugproblemswithOctopusvariables-ChecktheVariableSnapshotfortheRelease}
12+
## Check the variable snapshot for the release {#check-variable-snapshot-for-release}
1313

1414
1. Open the **Project ➜ Releases ➜ Release** page for the Release you are debugging.
1515
2. Scroll down to find the **Variables** section and click the **Show Snapshot** link so see the snapshot of Variables being used by this Release.
@@ -21,7 +21,7 @@ Sometimes a variable used during deployment may have a different value from the
2121
![](/docs/support/images/3278466.png)
2222
:::
2323

24-
## Check the variable value in the all variables tab {#DebugproblemswithOctopusvariables-CheckthevariablevalueintheAllVariablestab}
24+
## Check the variable value in the all variables tab {#check-variable-value-in-all-variables-tab}
2525

2626
1. Open the **Project ➜ Variables ➜ All Variables** tab.
2727
2. Investigate the variables from all possible sources for the project including the project itself, [variable sets](/docs/projects/variables/library-variable-sets/), and [tenants](/docs/tenants).
@@ -34,7 +34,7 @@ Sometimes a variable used during deployment may have a different value from the
3434
Did you know you can sort filter all of the variables grids? Click **Show Advanced filters** and select your filter type.
3535
:::
3636

37-
## Write the variables to the deployment log {#DebugproblemswithOctopusvariables-Writethevariablestothedeploymentlog}
37+
## Write the variables to the deployment log {#write-variables-to-deployment-log}
3838

3939
This will log the variables available at the beginning of each step in the deployment as Verbose messages.
4040

src/shared-content/octopus-recommendations/configure-project/project-configure.include.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Let's configure a project using our recommended principles. We are going to be
1010
First, let's get the project scaffolding in place. Start by creating a project group called **OctoFx**.
1111

1212
:::figure
13-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-projectgroupcreation.png)
13+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-projectgroupcreation.png)
1414
:::
1515

1616
:::div{.hint}
@@ -20,7 +20,7 @@ Project groups are a great way to organize your deployment projects. They have
2020
That group looks a little empty. Let's add in the three projects we discussed earlier.
2121

2222
:::figure
23-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-projectgrouppopulated.png)
23+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-projectgrouppopulated.png)
2424
:::
2525

2626
:::div{.hint}
@@ -32,7 +32,7 @@ Adding an image to your project is a useful way to set them apart from other pro
3232
We have the three projects set up, but we need to share some common variables between them. The SQL Server that we are deploying to, the database name and the application name are variables that come to mind. To accomplish this, we are going to create a variable set for this specific application.
3333

3434
:::figure
35-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-projectlibraryset.png)
35+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-projectlibraryset.png)
3636
:::
3737

3838
:::div{.hint}
@@ -42,7 +42,7 @@ A project can reference 0 to N number of variable set. Variable naming is signi
4242
It's also good to have a couple of other variable sets to handle some non-project specific values. For example, a global variable set that stores any infrastructure as code (or IaC) variables. The same naming convention applies as the project-specific variable set, for example, replacing **OctoFx** with **Global**.
4343

4444
:::figure
45-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-globalvariables.png)
45+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-globalvariables.png)
4646
:::
4747

4848
### OctoFX-Database project
@@ -52,13 +52,13 @@ The first project we are going to configure is the **OctoFX-Database** project.
5252
Before adding steps to the process, we need to add a reference to the variable sets we created earlier.
5353

5454
:::figure
55-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-databasevariablesets.png)
55+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-databasevariablesets.png)
5656
:::
5757

5858
Next, we are going to add the manual intervention step for the DBAs to approve. If you are configuring a fresh instance of Octopus Deploy, you may not have had the chance to configure a DBA team yet; that's okay. For now, just put in Octopus Administrators or a team that already exists. You can configure specific teams later.
5959

6060
:::figure
61-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-dbaapprovaldatabase.png)
61+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-dbaapprovaldatabase.png)
6262
:::
6363

6464
:::div{.hint}
@@ -68,7 +68,7 @@ This project deploys a database package using [DBUp](https://github.com/DbUp/),
6868
Many [community step templates](https://library.octopus.com) have been created to help with some of this database scaffolding. We will use the **SQL - Create Database If Not Exists** step template to create the database if it doesn't exist. We are going to use variables from the variable set we included previously. For now, we are going to execute this script on a Tentacle with the role `OctoFX-DB.` Later in this guide, we will convert this to use workers.
6969

7070
:::figure
71-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-createdatabaseifnotexists.png)
71+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-createdatabaseifnotexists.png)
7272
:::
7373

7474
There are a few more maintenance tasks to add, such as:
@@ -80,13 +80,13 @@ There are a few more maintenance tasks to add, such as:
8080
Keep in mind, all of the steps being added are occurring before an actual deployment happens. Without doing a deployment yet, we have added in five steps to deploy the database. Imagine if this project also deploys a website, a Windows Service, and other components. The project would become very hard to manage.
8181

8282
:::figure
83-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-databaseprojectbeforedeployment.png)
83+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-databaseprojectbeforedeployment.png)
8484
:::
8585

8686
Now we are ready to configure the database deployment. When creating a PoC or other deployment projects, you'll typically need to package up the database into either a NuGet or a Zip file. So far, in this guide, we haven't configured anything to push the packages to Octopus Deploy's internal package feed for it to deploy. However, the deploy a package step requires us to specify a package. The way we will short-circuit this chicken/egg scenario is by using variables. In a later chapter, we will worry about getting the packages uploaded, but we just want to set a variable for now.
8787

8888
:::figure
89-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-dbprojectvariablepackage.png)
89+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-dbprojectvariablepackage.png)
9090
:::
9191

9292
:::div{.hint}
@@ -96,13 +96,13 @@ Using a variable to reference a package also makes it easier to clone this proje
9696
Now that we have our package referenced as a variable, we can add the step to deploy the package and run the scripts on the database.
9797

9898
:::figure
99-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-referencepackageasvariable.png)
99+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-referencepackageasvariable.png)
100100
:::
101101

102102
Finally, the database deployment process is complete. The process is relatively simple; there might be some more approvals or additional steps you want to add. Again, the idea is to keep all the database deployment work in this specific project.
103103

104104
:::figure
105-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-finaldatabaseprocess.png)
105+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-finaldatabaseprocess.png)
106106
:::
107107

108108
Don't spend too much time on the actual steps in the process. The major takeaways from this are that the database project is responsible for everything required to create, configure, and deploy a database. You might be using a different tool (like Redgate or RoundhousE) to do your deployments, which include some additional features.
@@ -114,25 +114,25 @@ Now it's time to move onto deploying the UI. Unlike the previous section, we wo
114114
That being said, don't forget to include the variable sets in this particular project, just like you did with the database deployment project.
115115

116116
:::figure
117-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-weblibrarysets.png)
117+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-weblibrarysets.png)
118118
:::
119119

120120
Below is the process we put together to deploy the web application. First, it gets approval from the web admins to do the deployment; then, it will do a rolling deploy across all the machines.
121121

122122
:::figure
123-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-webapplicationprocess.png)
123+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-webapplicationprocess.png)
124124
:::
125125

126126
The rolling deployment is set by by clicking on **CONFIGURE A ROLLING DEPLOYMENT**.
127127

128128
:::figure
129-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-rollingdeployments1.png)
129+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-rollingdeployments1.png)
130130
:::
131131

132132
You will then see the **Rolling Deployment** section, where you can set the window size for the rolling deployment.
133133

134134
:::figure
135-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-rollingdeployments2.png)
135+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-rollingdeployments2.png)
136136
:::
137137

138138
:::div{.hint}
@@ -150,75 +150,75 @@ We previously added manual intervention steps to the Database and **OctoFX-WebUI
150150
First, we need to add a couple of variables to the **OctoFX-Database** project.
151151

152152
:::figure
153-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-deployareleasedatabaseprojectvariables.png)
153+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-deployareleasedatabaseprojectvariables.png)
154154
:::
155155

156156
Next, we want to set the run condition on the manual intervention to look at the `Project.Approval.ManualInterventionRequired` variable. If it's set to `true`, that step will run, and if it's set to `false`, it will skip that step.
157157

158158
:::figure
159-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-deployareleasedatabasemanualintervention.png)
159+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-deployareleasedatabasemanualintervention.png)
160160
:::
161161

162162
Let's repeat the same thing for the **OctoFX-WebUI** project; add the project variables `Project.Approval.ExternalApprover` and `Project.Approval.ManualInterventionRequired`, and the run condition on the manual intervention step.
163163

164164
:::figure
165-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-deployareleasemanualinterventionweb.png)
165+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-deployareleasemanualinterventionweb.png)
166166
:::
167167

168168
Now we can configure the traffic cop project. First, add in the same variable set as the other two projects.
169169

170170
:::figure
171-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-trafficcopvariableset.png)
171+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-trafficcopvariableset.png)
172172
:::
173173

174174
Next, we need to add in the manual interventions. If you look closely, you will see this new icon appear in the process:
175175

176176
:::figure
177-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-deployareleasemanualintervention.png)
177+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-deployareleasemanualintervention.png)
178178
:::
179179

180180
That new icon appears because the start trigger has been configured to run in parallel with the previous step. This means you won't have to wait for a DBA to approve before the web admin approves it. The web admin can authorize the deployment, and then the DBA.
181181

182182
:::figure
183-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-manualinterventionparallel.png)
183+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-manualinterventionparallel.png)
184184
:::
185185

186186
Now we can add in a deploy a release step for the **OctoFX-Database** project. Make a note of the variable being passed in. In this case, it is set to `false`. That means the manual intervention on the database project will be skipped (because it has already been approved by the time it gets here).
187187

188188
:::figure
189-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-deploydatabaserelease.png)
189+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-deploydatabaserelease.png)
190190
:::
191191

192192
Now we can repeat the same thing for the **OctoFX-WebUI** project.
193193

194194
:::figure
195-
![]/docs/shared-content/octopus-recommendations/configure-project/images/configurationproject-deployareleaseweb.png)
195+
![](/docs/shared-content/octopus-recommendations/configure-project/images/configurationproject-deployareleaseweb.png)
196196
:::
197197

198198
The final process for this example will look like this:
199199

200200
:::figure
201-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-trafficcopprocess.png)
201+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-trafficcopprocess.png)
202202
:::
203203

204204
In a typical CI/CD setup, the database and web UI projects will automatically be deployed to the development environment by the build server. When should the traffic cop project be introduced? Not every database and web UI release will be promoted to a test environment. It's likely you won't be deploying both projects all the time, only some of the time. If the application were using something like Entity Framework without any stored procedures, then it could be entirely possible to have web UI changes, even for a major release.
205205

206206
Because of that, a unique lifecycle should be created for the traffic cop project. This lifecycle will skip the **Development** environment and start at **Test**.
207207

208208
:::figure
209-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-trafficcoplifecycle.png)
209+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-trafficcoplifecycle.png)
210210
:::
211211

212212
To change the default lifecycle for the project, you go to the process screen and click the **Change** button next to the lifecycle.
213213

214214
:::figure
215-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-changetrafficcoplifecycle.png)
215+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-changetrafficcoplifecycle.png)
216216
:::
217217

218218
Now the default lifecycle for the project will be the **Traffic Cop Lifecycle**.
219219

220220
:::figure
221-
![]/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-trafficcopnewprocess.png)
221+
![](/docs/shared-content/octopus-recommendations/configure-project/images/projectconfiguration-trafficcopnewprocess.png)
222222
:::
223223

224224
This section's important takeaway is not necessarily the individual steps, but rather, some of the core concepts. We have a project which can coordinate the releases of other projects. Also, the approvals occur before the first deployment happens. Finally, we can have multiple approvals occur at the same time.

0 commit comments

Comments
 (0)