Skip to content
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

522: CI/CD Workflow #534

Merged
merged 8 commits into from
Jan 19, 2022
Merged

522: CI/CD Workflow #534

merged 8 commits into from
Jan 19, 2022

Conversation

JonasAls89
Copy link
Contributor

No description provided.

@JonasAls89 JonasAls89 added the Training Label used to quickly see/hide training Issues & Pull Requests. label Jan 13, 2022
@JonasAls89 JonasAls89 linked an issue Jan 13, 2022 that may be closed by this pull request
JonasAls89 and others added 3 commits January 13, 2022 13:43
- Added line breaks
- Added some 'air' to improve legibility
- Rephrased a sentence regaring GIT
- Replaced 'word of caution' with a caution block
Copy link
Contributor

@ga-hegsvold ga-hegsvold left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How much of the CI/CD setup should this section cover?
The autodeployer is mostly explained, which is good, but not sufficient for the reader to set up CI/CD by themselves.
Thoughts?

It's might also be worth point out that CI/CD can be set up in multiple ways for a Sesam project, but what is described here are Sesam's recommendations.

- ensures that incremental changes can be implemented in an agile manner
- minimizes risk of erroneous deployments damaging an ecosystem

Building upon the knowledge you just acquired reading the above section :ref:`node-config-4-2` is should now be obvious to you that Sesam advocate working in a CI/CD workflow.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is should now be obvious to you

I think we should be careful with using words such as 'obvious'. If it indeed was obvious, would we even need to mention it?

Oh, and a typo: "is" --> "it"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

implemented

With regards to the node config, the properties ``GIT_REPO``, ``SYNC_ROOT`` and ``VARIABLES_FILE_PATH`` are all related to the skeletal structure of the node config.
The ``GIT_REPO`` is equivalent to your root project folder,
whilst the ``SYNC_ROOT`` is equivalent to the ``node/`` folder whilst finally the ``VARIABLES_FILE_PATH`` defines which of the variables files,
placed in the ``variables/`` folder, should be used when the Github Autodeployer automatically uploads an updated node config to your Sesam node as you push changes via the Sesam CLI towards GitHub.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a very long sentence.
When describing different parameters and similar things, as a general rule I recommend we give each a separate paragraph. This makes it much easier for the reader to distinguish between the different things being described and to find what is relevant at a glance.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

split it up as suggested.


reset to end
With regards to the node config, the properties ``GIT_REPO``, ``SYNC_ROOT`` and ``VARIABLES_FILE_PATH`` are all related to the skeletal structure of the node config.
The ``GIT_REPO`` is equivalent to your root project folder,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GIT_REPO must contain the link to the git repo where the project's Sesam configuration resides.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

implemented

With regards to the node config, the properties ``GIT_REPO``, ``SYNC_ROOT`` and ``VARIABLES_FILE_PATH`` are all related to the skeletal structure of the node config.
The ``GIT_REPO`` is equivalent to your root project folder,
whilst the ``SYNC_ROOT`` is equivalent to the ``node/`` folder whilst finally the ``VARIABLES_FILE_PATH`` defines which of the variables files,
placed in the ``variables/`` folder, should be used when the Github Autodeployer automatically uploads an updated node config to your Sesam node as you push changes via the Sesam CLI towards GitHub.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

placed in the variables/ folder,

This is redundant. As we can se from the example above, the path to the variables file must be specified, so it does not have to be in the variables/ folder.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

With regards to the node config, the properties ``GIT_REPO``, ``SYNC_ROOT`` and ``VARIABLES_FILE_PATH`` are all related to the skeletal structure of the node config.
The ``GIT_REPO`` is equivalent to your root project folder,
whilst the ``SYNC_ROOT`` is equivalent to the ``node/`` folder whilst finally the ``VARIABLES_FILE_PATH`` defines which of the variables files,
placed in the ``variables/`` folder, should be used when the Github Autodeployer automatically uploads an updated node config to your Sesam node as you push changes via the Sesam CLI towards GitHub.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

as you push changes via the Sesam CLI towards GitHub

I don't think this is relevant when describing how the autodeployer works. Changes can be pushed to github (or whatever VCS is used) in various ways. The autodeployer does not care how.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

removed

@ga-hegsvold ga-hegsvold changed the title 522 522: CI/CD Workflow Jan 17, 2022
@JonasAls89
Copy link
Contributor Author

How much of the CI/CD setup should this section cover? The autodeployer is mostly explained, which is good, but not sufficient for the reader to set up CI/CD by themselves. Thoughts?

It's might also be worth point out that CI/CD can be set up in multiple ways for a Sesam project, but what is described here are Sesam's recommendations.

I'm not completely sure how to answer/resolve the above. As I link in the section to Beginner -> Sesam CLI I think the theory for setting up the CI/CD workflow in Sesam is covered. Don't you agree?

Copy link
Contributor

@GabriellCVig GabriellCVig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor change; we should explain what CI/CD is the abbreviation for (Continuous integration/ Continuous deployment)

@JonasAls89
Copy link
Contributor Author

Minor change; we should explain what CI/CD is the abbreviation for (Continuous integration/ Continuous deployment)

This is explained in previous section. :ref:sesam-cli-4-1, therefore I think it would be redundant to explain again?

Copy link
Contributor

@GabriellCVig GabriellCVig left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor change; we should explain what CI/CD is the abbreviation for (Continuous integration/ Continuous deployment)

This is explained in previous section. :ref:sesam-cli-4-1, therefore I think it would be redundant to explain again?

Agreed

eases the way in which teams can work together whilst also minimizing risk of erroneous deployments damaging an ecosystem.

To implement said workflow, Sesam has developed a microservice named `Github Autodeployer <https://github.com/sesam-community/github-autodeployer>`_.
This microservice connects to the GitHub API and integrates with a node config, as described in :ref:`node-config-4-2`, shared via GitHub.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reading this sentence it sounds like the referenced section (node-config-4-2) explains how the GitHub API and integrates with a node config. That is not really the case, is it? The referenced section explains a typical folder structure for a node config.
I think this reference can be removed.

@JonasAls89 JonasAls89 merged commit a7017f9 into training Jan 19, 2022
@JonasAls89 JonasAls89 deleted the 522 branch January 19, 2022 16:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Training Label used to quickly see/hide training Issues & Pull Requests.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Projects & Infrastructure: Novice: Deployment
3 participants