Professional Documents
Culture Documents
(ІІТ) ІА03 Бригада5 ЛАБ-4-5
(ІІТ) ІА03 Бригада5 ЛАБ-4-5
Команда-бригада №5
Виконали: Перевірив:
студенти групи ІА-03
Деркач Оля Цимбал С. І.
Костянко Вадим
Якименко Володимир
Київ 2023
Завдання
1. Обрати хмарну платформу і створити аккаунт на ній (наприклад, AWS, GCP).
2. Створити простий веб-застосунок html + css, створити для нього Dockerfile на базі
nginx (можна використати матеріали з минулої лабораторної роботи).
3. Створити VM instance та security group (застосунок має бути доступний на 80 порті,
HTTP), встановити на нього docker.
4. Створити репозиторій з кодом (Dockerfile, код вашого застосунка).
5. Запустити два контейнери – створений образ та watchtower.
6. Написати github actions pipeline, який збиратиме docker образ і пушитиме його в
docker hub при коміті в гілку main.
7. (Додатково) Додати лінтер в пайплайн.*
Хід роботи
Так як студентам КПІ випала халява у вигляді плюшок від Microsoft, в тому числі і
Azure, то для лабки візьмемо саме його, тим більше акаунт вже існує
2. Створити простий веб-застосунок html + css, створити для нього Dockerfile
на базі nginx
Результат:
3. Створити VM instance та security group (застосунок має бути доступний на
80 порті, HTTP), встановити на нього Docker
Результат: (публічна ip адреса для підключення по порту 80 à 51.136.38.19)
Security group:
Підключаємось до віртуальної машини через SSH
Встановлюємо докер
4. Створити репозиторій з кодом
Репозиторій на GitHub
on:
push:
branches: [ "main" ]
jobs:
push_to_registry:
name: Push Docker image to Docker Hub
runs-on: ubuntu-latest
steps:
- name: Check out the repo
uses: actions/checkout@v3
Dockerfile
FROM nginx:1.25
WORKDIR /usr/share/nginx/html
COPY . .
EXPOSE 80
.gitignore
.DS_Store
.vscode
.idea
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>IIT LAB4-5</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<img class="logo" src="assets/iit-logo.png" alt="iit-logo">
<div class="header">
<h1>LAB 4-5</h1>
</div>
</header>
<div class="content">
<h1>зарахуйте лабку, будь ласка🥺👉👈</h1>
<img class="kitty" src="assets/kitty.gif" alt="cute kitty">
</div>
<footer>
<img class="support-ukraine" src="assets/stand-with-ukraine.webp"
alt="stand-with-ukraine" height="50px">
<div class="footer-separator"></div>
<div class="footer-content">
KPI FICT Copyright © 2023 IST - All rights reserved ||
Designed By: 03 Olha & Vadym & Volodymyr
</div>
</footer>
</body>
</html>
style.css
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
height: 100%;
}
body {
display: flex;
flex-direction: column;
height: 100vh;
font: 16px sans-serif;
}
header {
display: inline-flex;
align-items: center;
background: antiquewhite;
}
.logo {
height: 80px;
margin: 10px 20px;
}
.content {
flex: 1 0 auto;
text-align: center;
margin-top: 20px;
}
.kitty {
margin-top: 10px;
height: 450px;
}
footer {
flex-shrink: 0;
padding: 20px;
background: black;
display: flex;
flex-direction: row;
align-items: center;
}
.footer-content {
color: gray;
flex: 1 0 auto;
text-align: center;
}
.footer-separator {
flex: auto;
height: 50px;
max-width: 2px;
margin-left: 50px;
border-radius: 2px;
background-color: white;
}