Тёмный

GitHub Actions - Getting Started With Environments 

Mickey Gousset
Подписаться 2,4 тыс.
Просмотров 34 тыс.
50% 1

In GitHub Actions, you can configure environments (such as DEV, STAGING, PROD) with protection rules and secrets. A workflow job can reference an environment to use that environment's rules and secrets. This video will walk you through the basics.
Find Me:
Website: mickeygousset.com​
GitHub: github.com/mickeygousset​
Twitter: / mickey_gousset​

Наука

Опубликовано:

 

2 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 49   
@jayrodriguez497
@jayrodriguez497 3 года назад
This is exactly what I needed and a total pain without your vid. Thanks man, subbed!
@sundeepkumarpaulraj8381
@sundeepkumarpaulraj8381 3 года назад
Thanks a lot Mickey, this is what something I was searching for
@jimblizzard2806
@jimblizzard2806 3 года назад
This is awesome! Very much needed, and excellent implementation. :)
@MickeyGousset
@MickeyGousset 3 года назад
Thanks for watching and for the feedback!
@redmizaki5838
@redmizaki5838 2 года назад
Love it! Hope you could share more on GitHub actions.
@javierrenteria3195
@javierrenteria3195 Год назад
how you explained this was so easy to understand it!!!! thanks!
@devops_jaswanth
@devops_jaswanth Год назад
Good one. Plese keep doing more on this
@chineduezeofor2481
@chineduezeofor2481 Год назад
Excellent tutorial! Thank you for this.
@MickeyGousset
@MickeyGousset Год назад
Thank you!
@vikramragunathan6392
@vikramragunathan6392 2 года назад
Perfectly explained :)
@HeavyMikArmor
@HeavyMikArmor 2 месяца назад
Hi! Thank you for the concise explanation. I would like to ask clarifications about the differences between environments' secrets and deploy keys. Can we say that a deploy key is used more as a (public ssh) key to identify your server (and thus perform deployment), and that it's related to the whole repository, whereas an environment secret should be used for credentials like cloud services and that is scoped within environment defined branches? Even this way, why should one store a ssh key as a deploy key rather than an environment secret, since the latter has more options?
@hashemalrifai
@hashemalrifai Год назад
Great video, thanks :)
@andresgutierrez3965
@andresgutierrez3965 2 года назад
This is gold
@user-py1vf2ok2e
@user-py1vf2ok2e 5 месяцев назад
SUPERB!
@michaelsainz5294
@michaelsainz5294 3 года назад
Thanks! I learned something new!
@MickeyGousset
@MickeyGousset 3 года назад
Thanks for watching!
@g-luu
@g-luu 2 года назад
Earned yourself a sub. Thanks for the content.
@MickeyGousset
@MickeyGousset 2 года назад
Awesome, thank you!
@adithyakiransekar
@adithyakiransekar Год назад
Thank you, exactly what I needed. Do you recommend having multiple branches to reflect this? Or just go off a main. What is best branching strategy for an actual production app
@MickeyGousset
@MickeyGousset Год назад
That is a tricky question, which falls into your process. Some people like GitFlow, I'm more of a GitHubFlow type of person, because it does trunk based development in a way that I like.
@d0nhect0r
@d0nhect0r 2 года назад
Good stuff. For completeness, it would have been nice to illustrate how to access environment secrets from steps.
@MickeyGousset
@MickeyGousset 2 года назад
Thank you for the feedback. You access them just like you do any other secret: ${{secrets.MY_SECRET_NAME_HERE}}. The catch is, you will only be able to access the environment secret if the job is targeting that environment
@wkhatch
@wkhatch 7 месяцев назад
why not do this at the workflow scope, or at least allow us to specify multiple environments per job? @@MickeyGousset
@ssahillppatell
@ssahillppatell 2 года назад
Thanks man
@umesh1056
@umesh1056 6 месяцев назад
This is really awesome , Can you please tell me if we can store github secrets into the file at the run time
@Southpaw07
@Southpaw07 10 месяцев назад
This is great tutorial, i was wondering if I can setup similar workflow that uses env variable = dev and prod in terraform code to run on a particular deployment branch Dev or Main (prod) in GitHub based of the env variables in TF code as an example variable "vmname" { default = { dev = "devcorpvm" prod = "prodcorpvm" }
@vinodhkumar3777
@vinodhkumar3777 Год назад
finally i got the solution thanks lot
@nirmalkumar5405
@nirmalkumar5405 6 месяцев назад
you are awesome! upload more vids
@hemanthshankar4520
@hemanthshankar4520 3 года назад
Thanks for the video
@MickeyGousset
@MickeyGousset 3 года назад
Thanks for watching and commenting!
@danielt5542
@danielt5542 Год назад
I got one question. In a real world project what conditions needs to be met in order to move from DEV to QA and then PROD, unit testing?
@MickeyGousset
@MickeyGousset Год назад
Unfortunately the classic answer is "it depends". It is really going to depend on what your process is for being able to move from one environment to another. Unit testing, in my opinion, is something that must pass BEFORE you even push to the main branch, so it needs to occur during the pull request. Now it should also occur again any time you are doing a build, so, for example, if you are deploying to your DEV environment every time there is a push to main, you want to include unit testing in the build, to make sure everything is OK. Now, as far as what needs to be met to go from DEV to QA to PROD, it really depends on the organization and the process. Some customers I have worked with have a 24 hour wait period before they can move from one environment to the next. And if you have a QA env before a PROD one, then i'm sure there are manual or automated tests that also need to pass before you would want to move into PROD. This would make a good question/discussion on the GitHub subreddit.
@danielt5542
@danielt5542 Год назад
@@MickeyGoussetyeah, i am actually starting with a project where i already define my ci/cd pipeline to deploy a docker image into kubernetes and one requirement is to create a dev, qa and prod environment. I think i will have to research what kind of tests needs to be addressed between QA and prod, because if I am already covering what i think is more important in my CI/CD, i am not sure what needs to be tested in those environments. Thanks mickey, this is a really wonderful topic to cover.
@MickeyGousset
@MickeyGousset Год назад
@@danielt5542 usually the testing from QA to PROD is whatever you need to do to make yourself feel confident that you can deploy the code, and is usually a mixture of manual and automated tests. That said, if you want to send me an email at mickeygousset@github.com, with some details of what you are deploying and any other information you might find relevant, I'll throw it at some people on my team who know way more than I do about containers and K8S and see how they might answer the question.
@wkhatch
@wkhatch 7 месяцев назад
So, am I understanding this correctly that I need to associate an environment with a job, one and only one, per job, so, I'll now need to redefine the same job n number of times of n environments, just so I can reference a different value for a secret with the same key, which is the problem I was trying to avoid in the first place? This seems ugly, and I feel I must be missing something
@MickeyGousset
@MickeyGousset 7 месяцев назад
Multiple jobs can point to the same environment. But a job can only point to one environment at a time
@ankusnayak7005
@ankusnayak7005 Год назад
Sir, i have a question regards this thing ..if any job failed to run then dependent job stops there. But what if jobs are ok (working fine) but deployment in env generates some error then how to handle that thing ? I have tried, but while deployment gets error still jobs are passed how to handle that case ? Thanks in advance..
@MickeyGousset
@MickeyGousset Год назад
I think you would need to check, in the job that is doing the deployment, that everything is ok. If it isn't, then you could have a step that just does an "exit 1", which will cause the step and the job to fail, and can fail the future jobs.
@sumangeorge7
@sumangeorge7 2 месяца назад
can environments be created and set using yml rather than doing manually?
@MickeyGousset
@MickeyGousset 2 месяца назад
If you add the environment to your job and it doesn’t exist then it will create it. But you can’t configure the environment from YAMl
@jyotireddy341
@jyotireddy341 6 месяцев назад
where can I find this script please?
@MrPDx
@MrPDx Год назад
so where are the environments? where have you used those envs that you created? how to use it? that MY_SECRET you'd created.
@MickeyGousset
@MickeyGousset Год назад
The environments are created at the repository level. You can see the use of environments at the job step, there is a keyword "environment" which then specifies the environment you are pointing the job at.
@WildLifeBackyardCamera
@WildLifeBackyardCamera 6 месяцев назад
required reviewers only available to enterprise plan, such a shame for this so basic feature
@MickeyGousset
@MickeyGousset 6 месяцев назад
They are available for public eepos
@MickeyGousset
@MickeyGousset 6 месяцев назад
Without an enterprise plan
@ohyesthelion
@ohyesthelion 2 месяца назад
Shouldn’t have given same names to envs and jobs, makes it more confusing 😅
@MickeyGousset
@MickeyGousset 2 месяца назад
Good feedback thank you. I’m planning to update the video I’ll take that into consideration
@ohyesthelion
@ohyesthelion 2 месяца назад
@@MickeyGousset the video is great nevertheless, thanks!
Далее
GitHub Actions: Concurrency
26:27
Просмотров 5 тыс.
Cache Management with GitHub actions
12:23
Просмотров 7 тыс.
5 Ways to DevOps-ify your App - Github Actions Tutorial
12:12