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/
	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

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.1627651937.txt.gz · Last modified: 2021/07/30 16:32 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