This is an old revision of the document!


FINAL PROJECT

1. (5p) Create a new student<number> branch from the following Git repository: <TO_BE_PROVIDED>, starting from branch develop

2. (5p) Modify the Jenkinsfile and add a new stage that will execute the “ps -aux” command. Select your term-vm as the running node (also from the Jenkinsfile)

3. (5p) Filter out the output of the above command by searching for the Jenkins Java process and redirect it to a “process_details.txt” file

You can use a specific command to filter by “home\/jenkins”

4. (5p) Add a post block with “always” option, “archiveArtifacts” to select all the “*.txt” files

5. (5p) Create a new file in the repo root with the name “exam.sh”

      Add a shebang and print the following text: "I am <NAME> and I will get a nice grade!"
      Commit and push and check the Jenkins triggered job.

Hint: make sure the script has executable rights

6. (15p) Create a dockerfile starting from the “nexus.app.de.corp.thales:5000/thales/ee/oana/debugbox:latest” image, with the following steps:

      a) copy the "exam.sh" file in /opt/
      b) change your working directory to /opt/
	(using WORKDIR directive in Dockerfile)
      c) create a new user with the id "1000 + <student_number>"
	Exemplu comandă pentru adăugarea unui utilizator: useradd –create-home –shell /bin/bash –uid 1000 –user-group devops
      d) expose port 1234
	(using EXPOSE directive)

7. (15p) Update the Jenkinsfile with 2 new stages (name them as you like):

      ==> build the Docker image with the name "dockerimage-<student_number>"
      ==> start a container using the generated image that will execute the "exam.sh" script

The container should:

  • remove by itself after the run is finished
  • have port 1234 exposed

Hint: -it for running docker containers will block the terminal. Before you use it in Jenkins make sure if you actually need it.

8. - (5p) Check the “my.yaml” file in your branch and fix the problems. - (10p) Set the following properties:

  • metadata ⇒ name: student<number>
  • start a container called “awesome_container” based on the nginx Docker image
  • expose port 80

  • Create a new pod based on it.

9. (10p) Check the newly created pod and describe it

  • Get the value of the “Container ID” field and write it as a new line in the “kubernetes_details.txt” file

10. (10p) Show the logs for the running pod using kubectl commands and redirect the output to <student_no>_pod_logs.txt

11. (5p) Create a pull request to the “develop” branch

12. (5p) Complete feedback form

devops/laboratoare/06.1659090909.txt.gz · Last modified: 2022/07/29 13:35 by bogdan.croitoru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0