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/
	c) create a new user with the id "1000 + <student_number>"
	d) expose port 1234

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. (15p) Unset the PROXY environment variables using the following command:

“unset no_proxy http_proxy https_proxy HTTP_PROXY HTTPS_PROXY NO_PROXY”

  • Create a new file in the root of the Git repository, with the name “kubernetes_details.txt”
  • Identify using kubectl the master node INTERNAL-IP and write it on a new line in the “kubernetes_details.txt” file
  • Create a new Kubernetes namespace called “final_project_<student_number>”.

9. (15p) Create a new “my.yaml” file in your branch with the following details:

  • 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.

10. (10p) Start 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
  • Delete the pod.

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

devops/laboratoare/06.txt · Last modified: 2021/07/30 17:57 by oana.minciu.th
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