| @ -1,34 +1,39 @@ | |||
| # Learning Jenkins | |||
| This is the repository for the LinkedIn Learning course `Learning Jenkins`. The full course is available from [LinkedIn Learning][lil-course-url]. | |||
| _See the readme file in the main branch for updated instructions and information._ | |||
| ## Instructions | |||
| This repository has branches for each of the videos in the course. You can use the branch pop up menu in github to switch to a specific branch and take a look at the course at that stage, or you can add `/tree/BRANCH_NAME` to the URL to go to the branch you want to access. | |||
| ## Branches | |||
| The branches are structured to correspond to the videos in the course. The naming convention is `CHAPTER#_MOVIE#`. As an example, the branch named `02_03` corresponds to the second chapter and the third video in that chapter. | |||
| Some branches will have a beginning and an end state. These are marked with the letters `b` for "beginning" and `e` for "end". The `b` branch contains the code as it is at the beginning of the movie. The `e` branch contains the code as it is at the end of the movie. The `main` branch holds the final state of the code when in the course. | |||
| When switching from one exercise files branch to the next after making changes to the files, you may get a message like this: | |||
| error: Your local changes to the following files would be overwritten by checkout: [files] | |||
| Please commit your changes or stash them before you switch branches. | |||
| Aborting | |||
| To resolve this issue: | |||
| Add changes to git using this command: git add . | |||
| Commit changes using this command: git commit -m "some message" | |||
| ## Installing | |||
| 1. To use these exercise files, you must have the following installed: | |||
| - [list of requirements for course] | |||
| 2. Clone this repository into your local machine using the terminal (Mac), CMD (Windows), or a GUI tool like SourceTree. | |||
| 3. [Course-specific instructions] | |||
| [0]: # (Replace these placeholder URLs with actual course URLs) | |||
| [lil-course-url]: https://www.linkedin.com/learning/ | |||
| [lil-thumbnail-url]: http:// | |||
| # Learning Jenkins, 05-01: Pipeline as Code | |||
| Create a pipeline job. | |||
| Paste the following code in the pipeline definition: | |||
| ``` | |||
| pipeline { | |||
| agent any | |||
| options { | |||
| buildDiscarder(logRotator(daysToKeepStr: '10', numToKeepStr: '10')) | |||
| timeout(time: 12, unit: 'HOURS') | |||
| timestamps() | |||
| } | |||
| triggers { | |||
| cron '@midnight' | |||
| } | |||
| stages { | |||
| stage('Initialize') { | |||
| steps { | |||
| echo 'Initializing..' | |||
| } | |||
| } | |||
| stage('Build') { | |||
| steps { | |||
| echo 'Building..' | |||
| } | |||
| } | |||
| stage('Test') { | |||
| steps { | |||
| echo 'Testing..' | |||
| } | |||
| } | |||
| stage('Deploy') { | |||
| steps { | |||
| echo 'Deploying....' | |||
| } | |||
| } | |||
| } | |||
| } | |||
| ``` | |||