AL-Go/Workshop/Introduction.md

129 строки
4.6 KiB
Markdown
Исходник Обычный вид История

2023-02-26 07:47:43 +03:00
# Introduction
2023-03-13 13:28:38 +03:00
Introduction to GitHub, AL-Go for GitHub, personal and organizational accounts.
2023-02-26 07:47:43 +03:00
## What is GitHub?
2023-02-26 07:47:43 +03:00
GitHub is a code hosting platform for collaboration and version control.
Built for developers, inspired by the way you work.
From open source to business, you can host and review code, manage projects, and build software alongside 83 million developers.
Owned by Microsoft, who is heavily investing in evolving GitHub.
[See more here](https://github.com/)
2023-03-13 13:28:38 +03:00
______________________________________________________________________
2023-03-13 13:28:38 +03:00
2023-02-26 07:47:43 +03:00
## What is AL-Go For GitHub?
2023-02-26 07:47:43 +03:00
The Plug-and-play DevOps solution for Business Central development on GitHub
2023-02-26 07:47:43 +03:00
- Open source and free for all (GitHub costs accrue)
- Supports PTEs and AppSource apps
- Easy to get started, easy to use, easy to maintain
- No prior knowledge in docker, PowerShell or yaml needed
- No need for a DevOps engineer
- DevOps becomes a tool, not an investment area
[See more here](https://github.com/microsoft/AL-Go)
2023-03-13 13:28:38 +03:00
______________________________________________________________________
2023-03-13 13:28:38 +03:00
2023-02-26 07:47:43 +03:00
## Why GitHub?
2023-02-26 07:47:43 +03:00
As of June 2022, GitHub reported having over 83 million developers and more than 200 million repositories, including at least 28 million public repositories.
It is the largest source code host as of November 2021.
Some provocative comparison statements, which are the opinion of the author:
**If Azure DevOps is Enterprise Level DevOps**<br/>    then GitHub is its lean and simple DevOps sibling
2023-02-26 07:47:43 +03:00
**If DevOps engineers love Azure DevOps**<br/>    then Developers love GitHub
2023-02-26 07:47:43 +03:00
**If Azure DevOps is like Visual Studio**<br/>    then GitHub is like VS Code
2023-02-26 07:47:43 +03:00
**Other alternatives for Business Central on Azure DevOps exists**<br/>    none existed for GitHub before AL-Go for GitHub
2023-02-26 07:47:43 +03:00
**Yes, Azure DevOps is more feature rich**<br/>    but Microsoft is investing heavily in GitHub…
2023-02-26 07:47:43 +03:00
______________________________________________________________________
2023-03-13 13:28:38 +03:00
2023-02-26 07:47:43 +03:00
## Working with GitHub
### Every user needs a personal GitHub account
2023-02-26 07:47:43 +03:00
- You can have any number of private or public repositories under your personal account.
- This is your work area; this is not where you store production code
### A user can be a member of any number of organizations
2023-02-26 07:47:43 +03:00
- An organization can have any number of private or public repositories
- This is for production code
### A user can have access to any number of repositories
2023-02-26 07:47:43 +03:00
- Making a user a member of a single repository works, but it might come with some problems
- Organize your organizations and repositories wisely.
______________________________________________________________________
2023-03-13 13:28:38 +03:00
2023-02-26 07:47:43 +03:00
## Personal vs. Organizational accounts
2023-02-26 07:47:43 +03:00
| Personal Account | Organizational Account |
|--|--|
| Your identity on GitHub | Enhances collaboration |
| Sandbox for your work | Belongs to a user or an org |
| Unlimited private and public repos | Unlimited private and public repos |
| Most people will use just one | Can have any number of members |
| Free vs. Pro ($4) | Free vs. Team ($4) vs. Enterprise ($21) |
| GitHub Actions execution minutes<br/>- 2000 vs. 3000 min/month | GitHub Actions execution minutes<br />- 2000 vs. 3000 vs. 50.000 min/month |
> \[!NOTE\]
AppSource: Bug fixes, Publish dependencies and Documentation (#1027) ### Issues - ContainerName used during build was invalid if project names contained special characters - Issue 1009 by adding a includeDependencies property in DeliverToAppSource - Issue 997 'Deliver to AppSource' action fails for projects containing a space (or any special character) - Issue 987 Resource not accessible by integration when creating release from specific version - Issue 979 Publish to AppSource Documentation ### New Settings - `deliverToAppSource`: a JSON object containing the following properties - **productId** must be the product Id from partner Center. - **mainAppFolder** specifies the appFolder of the main app if you have multiple apps in the same project. - **continuousDelivery** can be set to true to enable continuous delivery of every successful build to AppSource Validation. Note that the app will only be in preview in AppSource and you will need to manually press GO LIVE in order for the app to be promoted to production. - **includeDependencies** can be set to an array of file names (incl. wildcards) which are the names of the dependencies to include in the AppSource submission. Note that you need to set `generateDependencyArtifact` in the project settings file to true in order to include dependencies. ### Deprecated Settings - `appSourceContinuousDelivery` is moved to the `deliverToAppSource` structure - `appSourceMainAppFolder` is moved to the `deliverToAppSource` structure - `appSourceProductId` is moved to the `deliverToAppSource` structure Fixes #1009 Fixes #997 Fixes #987 Fixes #979 --------- Co-authored-by: freddydk <freddydk@users.noreply.github.com>
2024-04-13 13:13:16 +03:00
> Windows OS consumes 2 minutes per minute
2023-02-26 07:47:43 +03:00
2023-03-13 13:28:38 +03:00
[See more here](https://github.com/)
______________________________________________________________________
2023-03-13 13:28:38 +03:00
2023-02-26 07:47:43 +03:00
## When to use organizational accounts
2023-02-26 07:47:43 +03:00
### Owner of organization owns the code
2023-02-26 07:47:43 +03:00
- Can share secrets, GitHub runners, access tokens and more
2023-02-26 07:47:43 +03:00
### ISVs implementing AppSource apps
2023-02-26 07:47:43 +03:00
- Should place these in one or more repositories in one organization
- Likely Teams Account ($4 per user/month)
2023-02-26 07:47:43 +03:00
### VARs implementing Per Tenant Extensions
2023-02-26 07:47:43 +03:00
- Should place those in an organization owned by the customer with the partner as collaborator
- VARs likely will need their own org. with a Teams Account ($4 per user/month)
- Free account is likely sufficient for Customer organization account
Open Source apps can be public - other apps should be private
______________________________________________________________________
2023-02-26 07:47:43 +03:00
## Organizational accounts
2023-02-26 07:47:43 +03:00
### Shared runners
2023-02-26 07:47:43 +03:00
- Runners defined on the organization can be used by all repositories
- Enterprise accounts can create runner groups and assign policies
2023-02-26 07:47:43 +03:00
### Shared secrets (not for free plan)
2023-02-26 07:47:43 +03:00
- Teams or Enterprise accounts can create secrets on the organization and share to repositories
2023-02-26 07:47:43 +03:00
### Shared cost
2023-02-26 07:47:43 +03:00
- Billing goes to organization instead of your personal plan
______________________________________________________________________
2023-02-26 08:27:36 +03:00
[Index](Index.md)  [next](Prerequisites.md)