This is an old revision of the document!


FINAL PROJECT

1. (5p) Create a new student<number> branch from the following Git repository: https://gitlab.sschool.ro.thales/bogdan.croitoru/devops-final-project, 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.1659090692.txt.gz · Last modified: 2022/07/29 13:31 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