Skip to content

Commit e33c893

Browse files
freddydkCopilot
andauthored
Update docs (#1690)
New images for all docs and updated texts where needed... --------- Co-authored-by: freddydk <[email protected]> Co-authored-by: Copilot <[email protected]>
1 parent d55a446 commit e33c893

9 files changed

+204
-83
lines changed

Scenarios/AddATestApp.md

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,46 @@
11
# Add a test app to an existing project
22

3-
*Prerequisites: A completed [scenario 1](GetStarted.md)*
3+
*Prerequisites: A completed ["Create a new per-tenant extension (like AL Go) and start developing in VS Code"](GetStarted.md) scenario*
4+
5+
1. On **github.com**, open **Actions** on your solution, locate and select **Create a new test app** and then choose **Run workflow**. Enter values for **name**, **publisher**, and **ID range** and choose **Run workflow**
6+
7+
![Create a new test app](https://github.com/user-attachments/assets/9173c04f-1ad1-424c-8078-5ee4dda9c48a)
8+
9+
1. If you receive an error, stating that GitHub actions are **not allowed to create Pull Requests**, the reason for this is that your organizational settings doesn't allow the workflow to create pull requests, you can **click the link** and proceed to **create the pull request manually**:
10+
11+
![Pull request not allowed](https://github.com/user-attachments/assets/84b7f632-3895-4c52-975c-9c150e6ed997)
12+
13+
1. If you got this error, you can change that behavior under **Organization** -> **Settings** -> **Actions** -> **General** -> **Workflow permissions** -> Check **Allow GitHub Actions to create and approve pull requests**.
14+
15+
![Allow GitHub Actions to create and approve pull requests](https://github.com/user-attachments/assets/93454d6c-2b6a-4180-837c-a500be11f37c)
16+
17+
1. When the workflow is done, navigate to **Pull Requests**, **inspect the PR**, **Merge the pull request** and **Confirm the merge**
18+
19+
![Merge pull request](https://github.com/user-attachments/assets/5f268ba9-dbf5-4df6-89c7-d8cce568b25a)
420

5-
1. On **github.com**, open **Actions** on your solution, select **Create a new test app** and then choose **Run workflow**. Enter values for **name**, **publisher**, and **ID range** and choose **Run workflow**
6-
![Run Workflow](https://github.com/microsoft/AL-Go/assets/10775043/96485817-a631-4626-92b4-89e6432f5622)
7-
1. When the workflow is done, navigate to **Pull Requests**, **inspect the PR** and **Merge the pull request**
8-
![Pull Request](https://github.com/microsoft/AL-Go/assets/10775043/9fef16a8-ed34-43ee-8678-5ea7d3f1d221)
921
1. Under **Actions**, you will see that a Merge pull request CI workflow has been kicked off
10-
![Workflows](https://github.com/microsoft/AL-Go/assets/10775043/033ca252-ca26-457e-81a5-6f9edbda7a96)
22+
23+
![Merge pull request runningimage](https://github.com/user-attachments/assets/72282e67-89bd-4e8c-b46d-25a1aa5b4e35)
24+
1125
1. If you wait for the workflow to complete, you will see that it fails.
12-
![Fail](https://github.com/microsoft/AL-Go/assets/10775043/d009f93b-0346-4273-b180-34ecf83ab76f)
26+
27+
![Fail](https://github.com/user-attachments/assets/9e8b56c9-aae9-40aa-8904-d29101d21f1c)
28+
1329
1. Inspecting the build, you can see the details of the error.
14-
![Test failure](https://github.com/microsoft/AL-Go/assets/10775043/9120bf17-c3d4-414e-ae39-c876653b5567)
30+
31+
![Test failure](https://github.com/user-attachments/assets/23e5299d-12e3-46bb-a2a4-890877f5a9de)
32+
1533
1. To fix this, open VS Code, pull changes from the server using the sync button, open the **HelloWorld.Test.al** file and fix the test message.
16-
![Bug fix](https://github.com/microsoft/AL-Go/assets/10775043/49d0f417-b9b3-4a30-8a48-e296cfe03b70)
34+
35+
![Bug fix](https://github.com/user-attachments/assets/cc488145-45a6-458c-8c45-3d60f8a2b5c3)
36+
1737
1. Stage, Commit, and Push the change. On github.com, under **Actions** you will see that your check-in caused another CI workflow to be kicked off.
18-
![CI Workflow](https://github.com/microsoft/AL-Go/assets/10775043/c7527963-d728-413b-82bc-c9185674026f)
38+
39+
![CI workflow](https://github.com/user-attachments/assets/8550df71-9777-45d0-89df-113c99a1ed57)
40+
1941
1. This time it should be passing and if you investigate the CI/CD workflow, you will see that the deploy step has been skipped as no environment existed.
20-
![Success](https://github.com/microsoft/AL-Go/assets/10775043/4977dd06-36f3-45e1-a91b-991047f1604c)
42+
43+
![Success](https://github.com/user-attachments/assets/47a6f189-5322-4539-bc92-d4fcf24cbdcf)
2144

2245
______________________________________________________________________
2346

Scenarios/CreateRelease.md

Lines changed: 30 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,37 @@
11
# Create a release of your application
22

3-
*Prerequisites: A completed [scenario 3](RegisterSandboxEnvironment.md)*
3+
*Prerequisites: A completed ["Register a customer sandbox environment for Continuous Deployment using S2S"](Scenarios/RegisterSandboxEnvironment.md) scenario*
4+
5+
1. On github.com, open **Actions** in your project and select **Create Release**. Choose **Run workflow**. Enter `v1.0` as **name** and `1.0.0` as **tag** of the release, type `+0.1` in new version number and then choose **Run workflow**.
6+
7+
![Create Release](https://github.com/user-attachments/assets/748537f5-781f-4e96-bb8f-79b7294dbca5)
48

5-
1. On github.com, open **Actions** in your project and select **Create Release**. Choose **Run workflow**. Enter 1.0 as **name** and **tag** of the release, and then choose **Run workflow**.
6-
![Run workflow](https://github.com/microsoft/AL-Go/assets/10775043/3c559c16-6066-491a-b205-be4f34c9c9a0)
79
1. When the **create release** workflow completes, choose the **Code** section to see the releases.
8-
![Run workflow](https://github.com/microsoft/AL-Go/assets/10775043/72a2c3f5-c0f0-43b9-bac7-29b8a4f40755)
9-
1. Choose the release (1.0) and you will see the release. The release notes are pulled from all pull-requests checked in since the last release. The auto-generated release note also contains a list of the new contributers and a link to the full changelog. Choose the **Edit** button (the pencil) to modify the release notes. At the bottom, you can see the artifacts published, both the apps and the source code. A tag is created in the repository for the release number to always keep this.
10-
![Run workflow](https://github.com/microsoft/AL-Go/assets/10775043/79b94990-afc3-4217-ace9-3d5e19d6c5b6)
11-
1. Under **Actions**, select the **CI/CD** workflow and choose **Run workflow** to kick off a new CI/CD workflow. After the CI/CD workflow finishes, you can inspect the workflow output to see that the latest release was used as a baseline for the upgrade tests in the pipeline. You will also see that the new build, just created was deployed to the QA environment automatically.
12-
![Run workflow](https://github.com/microsoft/AL-Go/assets/10775043/7c684aba-a680-449c-96bf-e9600342bcd1)
10+
11+
![Releases](https://github.com/user-attachments/assets/71de15de-1d29-49cf-a593-85b0c5041f4c)
12+
13+
1. Choose the release (v1.0) and you will see the release. The release notes are pulled from all changes checked in since the last release. The auto-generated release note also contains a list of the new contributers and a link to the full changelog. Choose the **Edit** button (the pencil) to modify the release notes. At the bottom, you can see the artifacts published, both the apps and the source code. A tag is created in the repository for the release number to always keep this.
14+
15+
![Release](https://github.com/user-attachments/assets/ad9088c7-dfad-4a5e-9a20-c168b1311eee)
16+
17+
1. Under **Pull requests** you should also see the pull request created for the updated version number.
18+
19+
![Increment version number](https://github.com/user-attachments/assets/77a0c94d-d365-4d5d-ac4e-57d3841e8f25)
20+
21+
> [!NOTE]
22+
> In AL-Go for GitHub every release should be followed by an update to the version number in order to be able to create hotfixes for the release and not clash with version numbers in the main branch.
23+
24+
5. Inspecting the pull request reveals that it just changes the minor version number in the main branch. Under the conversation tab, merge the pull request and delete the branch.
25+
26+
![Inspect PR](https://github.com/user-attachments/assets/f7855aaa-3233-4028-91ed-ffba9de797ae)
27+
28+
1. Under **Actions** you should now see that a new CI/CD workflow have been started.
29+
30+
![New CI/CD](https://github.com/user-attachments/assets/442930f6-508d-4e0f-8130-2ccc39099fef)
31+
32+
1. After the CI/CD workflow finishes, you can inspect the workflow output to see that the latest release was used as a baseline for the upgrade tests in the pipeline. You will also see that the new build, just created was deployed to the QA environment automatically.
33+
34+
![Success](https://github.com/user-attachments/assets/639851f5-fab2-4cc9-a43c-e4cdea974536)
1335

1436
______________________________________________________________________
1537

Scenarios/GetStarted.md

Lines changed: 64 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,75 @@
11
# Create a new per-tenant extension (like AL:Go in VS Code) and start developing in VS Code
22

3-
*Prerequisites: A GitHub account, VS-Code (with AL and PowerShell extensions installed), and Docker installed locally*
4-
5-
1. Navigate to [https://github.com/microsoft/AL-Go-PTE](https://github.com/microsoft/AL-Go-PTE) and choose **Use this template**
6-
![Use this template](https://github.com/microsoft/AL-Go/assets/10775043/b808352c-c293-4ed3-b460-40e7b0ec36e9)
7-
1. Enter **app1** as repository name, select Public or Private and select **Create Repository from template**
8-
1. Select **Actions** -> **Create a new app** -> **Run workflow**
9-
![Run workflow](https://github.com/microsoft/AL-Go/assets/10775043/6c1ac9c3-14c2-4917-a31a-d94e5bb7bd66)
10-
1. Enter **Name**, **Publisher**, **ID range** and specify **Y** in **Direct Commit** and choose **Run workflow**.
11-
1. When the workflow is complete, select **< > Code** in the top bar
12-
1. Choose the **Code** button and copy the **https Clone Url** (in this picture: *https://github.com/freddydk/App1.git*)
13-
![Clone](https://github.com/microsoft/AL-Go/assets/10775043/84b92edb-72b8-4444-908c-0c6f6bc2b7f7)
3+
*Prerequisites: A GitHub account, VS Code (with AL, git and PowerShell extensions installed), and Docker installed locally*
4+
5+
1. Navigate to [https://github.com/microsoft/AL-Go-PTE](https://github.com/microsoft/AL-Go-PTE), choose **Use this template** and select **Create a new repository**.
6+
7+
![Use this template](https://github.com/user-attachments/assets/78acdaf2-7144-4a58-88da-933a875e6c87)
8+
9+
1. Enter **app1** as repository name, select Public or Private and select **Create Repository**
10+
11+
![Create a new repository](https://github.com/user-attachments/assets/f82d3387-dc81-41d2-8fd5-6fc8ff78c574)
12+
13+
1. In your new repository, select **Actions** -> **Show more workflows...**, **Create a new app** -> **Run workflow**
14+
15+
1. Enter **Name**, **Publisher**, **ID range**, select **Direct Commit** and choose **Run workflow**.
16+
17+
![Create a new app](https://github.com/user-attachments/assets/3a955943-80cc-48a9-9958-d8c2b3132ac5)
18+
19+
1. Wait for the workflow to complete
20+
21+
![Wait for completion](https://github.com/user-attachments/assets/b9e463b4-c282-45e6-94fc-b0d52fd23270)
22+
23+
1. When the workflow is complete, select **< > Code** in the top bar and see that your repository now contains a folder called **app1**
24+
25+
![app1](https://github.com/user-attachments/assets/b119b33a-7ab2-4605-91d6-669ce4b71fc7)
26+
27+
1. Choose the **Code** button and copy the **https Clone Url** (in this picture: *https://github.com/freddyk-temp/app1.git*)
28+
29+
![Copy Url](https://github.com/user-attachments/assets/469c4f1b-9991-40e9-88a3-f306819845d6)
30+
1431
1. Start **VS Code**, press **Ctrl+Shift+P** and select **Git Clone**, paste the clone URL and select a folder in which you want to clone the directory.
32+
33+
![Clone](https://github.com/user-attachments/assets/48062828-b41d-4ff4-943b-ceb3a9b58fe3)
34+
1535
1. **Open the cloned repository** and **open the workspace** when VS Code asks you (or do it manually)
1636

1737
> [!NOTE]
1838
> You can rename the `al.code-workspace` file to `<anothername>.code-workspace` to be able to better distinguish the workspaces.
1939
20-
1. In the **.AL-Go** folder, choose the **localDevEnv.ps1** script and Run the PowerShell script.
21-
![LocalDevEnv](https://github.com/microsoft/AL-Go/assets/10775043/fded935a-b529-4ade-8daa-bbe7e37726b8)
22-
1. Answer the questions asked about container name, authentication mechanism, credentials and select none for license file. The script might show a dialog asking for permissions to run docker commands, select **Yes** in this dialog. Wait for completion of the script.
23-
![LocalDevEnv Done](https://github.com/microsoft/AL-Go/assets/10775043/6d88b2b8-3198-4c4e-8f4e-292178fa2e9f)
24-
1. In VS Code, press **Ctrl+Shift+P** and **clear the credentials cache**.
25-
1. Open the **HelloWorld.al** file, modify the string and press **F5**. Depending on authentication selected VS Code might ask for the credentials you provided earlier.
26-
1. Login to **Business Central** and your **very own world** opens up!
27-
![Very own world](https://github.com/microsoft/AL-Go/assets/10775043/02037442-b604-4ea7-9ec4-256a5fafad4a)
28-
1. Back in **VS Code**, you will see that in addition to your changes in HelloWorld.al, the launch.json was also modified with the information about the local environment. **Stage your changes**, **commit** and **push**
29-
![Launch.json](https://github.com/microsoft/AL-Go/assets/10775043/b71daf76-3166-4d33-8724-160ac3f60e31)
30-
1. Back on github.com, investigate your **Workflows**.
31-
![Workflows](https://github.com/microsoft/AL-Go/assets/10775043/aaef1edb-9e42-4de4-bec2-e21b2da1ae61)
32-
1. When the build is done, inspect the **Build summary** (no test app)
33-
![Build Summary](https://github.com/microsoft/AL-Go/assets/10775043/f6a25fff-eef0-433c-84b0-e12b0b62008a)
34-
1. Inspect the workflow run by choosing the **build job**, expanding the **Run Pipeline** section and the **Compiling apps** subsection
35-
![Inspect](https://github.com/microsoft/AL-Go/assets/10775043/20a6da2b-33fe-4ebc-ad05-786e7700eeb6)
40+
10. In the **.AL-Go** folder, choose the **localDevEnv.ps1** script and Run the PowerShell script.
41+
42+
![LocalDevEnv](https://github.com/user-attachments/assets/1b5f9304-bae0-4aba-a72d-358c266a5c94)
43+
44+
01. Answer the questions asked about container name, authentication mechanism, credentials and select none for license file. The script might show a dialog asking for permissions to run docker commands, select **Yes** in this dialog. Wait for completion of the script.
45+
46+
![LocalDevEnv done](https://github.com/user-attachments/assets/9fd335d7-34cb-413e-9d33-3664fee93e80)
47+
48+
01. In VS Code, press **Ctrl+Shift+P** and **clear the credentials cache**.
49+
50+
01. Open the **HelloWorld.al** file, modify the string and press **F5**. Depending on authentication selected VS Code might ask for the credentials you provided earlier.
51+
52+
![Modify Hello World](https://github.com/user-attachments/assets/87826e3b-1717-4f19-a69b-b61bf7092141)
53+
54+
01. Login to **Business Central**, navigate to Customers and your **very own Hello World** opens up!
55+
56+
![My very own Hello world](https://github.com/user-attachments/assets/ffb0540b-a80e-4186-a280-9ae3a509c89c)
57+
58+
01. Back in **VS Code**, you will see that in addition to your changes in HelloWorld.al, the launch.json was also modified with the information about the local environment. **Stage your changes**, **commit** and **sync** your changes.
59+
60+
![launch.json](https://github.com/user-attachments/assets/e2baf584-12bf-4bd9-ab68-9d1210bab70c)
61+
62+
01. Back on github.com, click **Actions** and investigate your workflows.
63+
64+
![Actions](https://github.com/user-attachments/assets/505f63f0-d782-409b-8fd2-be3a9ea969cc)
65+
66+
01. When the build is done, click the build and inspect the **Build summary**
67+
68+
![Build Summary](https://github.com/user-attachments/assets/688d814b-758f-4d49-a15a-02700f595a24)
69+
70+
01. Inspect the workflow run by choosing the **build job**, expanding the **Run Pipeline** section and the **Compiling apps** subsection
71+
72+
![Inspect](https://github.com/user-attachments/assets/6db47088-bc21-4613-bd0f-609117ee2698)
3673

3774
______________________________________________________________________
3875

Scenarios/RegisterProductionEnvironment.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,17 @@
11
# Register a customer production environment for Manual Deployment
22

3-
*Prerequisites: A completed [scenario 4](CreateRelease.md), an online production environment setup for S2S as specified in task 2 here [Using Service to Service Authentication - Business Central | Microsoft Docs](https://go.microsoft.com/fwlink/?linkid=2217415&clcid=0x409), using the same Microsoft Entra application registration as scenario 3*
3+
*Prerequisites: A completed ["Create a release of your application"](CreateRelease.md) scenario, an online production environment setup for S2S as specified in task 2 here: [Using Service to Service Authentication - Business Central | Microsoft Docs](https://go.microsoft.com/fwlink/?linkid=2217415&clcid=0x409), using the same Microsoft Entra application registration as scenario 3*
44

55
> [!NOTE]
66
> For access to environments, environment secrets, and deployment branches in private or internal repositories, you must use GitHub Pro, GitHub Team, or GitHub Enterprise. (see [this](https://go.microsoft.com/fwlink/?linkid=2216857&clcid=0x409)). We are considering adding a secondary option for listing environments.
77
88
1. Following the process in step 3, you can add an environment to the GitHub repository under settings called **MYPROD (Production)**, which maps to a production environment called **MYPROD**. Remember the **AUTHCONTEXT** Secret. Apps will NOT be deployed to production environments from the CI/CD pipeline, by adding the **(Production)** tag, the environment will be filtered out already during the **Analyze** phase. You need to run the **Publish To Environment** workflow to publish the apps. Leave the App version as **current**, which means that the **latest released bits** are published to **MYPROD**.
9-
![Run workflow](https://github.com/microsoft/AL-Go/assets/10775043/43961e6f-c1ee-4640-9a9c-bbc70dec7fa7)
10-
1. After running the **Publish to Environment** workflow, you should see that the app was deployed to the **MYPROD** environment only.
11-
![Run workflow](https://github.com/microsoft/AL-Go/assets/10775043/34ec03d5-a736-4b44-9229-34de32029ea3)
9+
10+
![Publish to MYPROD](https://github.com/user-attachments/assets/fdb05510-2785-483a-b2f3-98a2fe36bfc4)
11+
12+
1. When running the **Publish to Environment** workflow, you should see that the app is deployed to the **MYPROD** environment only.
13+
14+
![MYPROD](https://github.com/user-attachments/assets/04dab8af-57b4-4bc3-a0c2-6e6869d8df34)
1215

1316
> [!NOTE]
1417
> If your Business Central environment name contains spaces or special characters, you might need to map your GitHub environment name to your Business Central environment name using the DeployTo setting with an EnvironmentName setting called DeployTo.

0 commit comments

Comments
 (0)