Compare commits

..
12 Commits
Author SHA1 Message Date
Black_Raven c06165bc3b ci: fix ci
Build, Test and Push Flask App / docker-build-and-push (push) Successful in 1m16s
Build, Test and Push Flask App / deploy (push) Successful in 58s
2026-09-11 21:52:40 +03:00
Black_Raven 804f84ecad ci: To gitea
Build, Test and Push Flask App / docker-build-and-push (push) Successful in 38s
Build, Test and Push Flask App / deploy (push) Failing after 44s
2026-09-11 21:36:04 +03:00
Black_Raven 445527f05a fix(cd): fix directory in playbook
Build and Push to GHCR / build-and-push (push) Failing after 24s
2026-08-16 20:39:53 +03:00
Black_Raven 90646f74de fix(DevOps): added new trophy 2026-08-16 20:39:53 +03:00
Black_Raven 9bf23d55d0 feat(cd): Added ansible 2026-08-16 20:30:18 +03:00
Black_Raven e587346267 fix(DevOps): Added new info for DevOps resume 2026-08-16 20:01:24 +03:00
Black_Raven f83da9ab69 sys: remove requirements-dev.txt from shell 2026-07-03 23:27:03 +03:00
Black_Raven a50d63fadd sys: remove unused loguru from docker file 2026-07-03 23:26:35 +03:00
Black_Raven 665f05af14 sys: Remove /forgejo from docker file 2026-07-03 23:26:05 +03:00
Black_Raven dfdcd15a89 fix(github): fix err with upper case 2026-06-25 17:05:36 +03:00
Black_Raven 80d8142b58 feat(github): Added ci for github 2026-06-25 17:02:00 +03:00
Black_Raven 485eb08da7 ci: added Ci for build docker 2026-04-02 15:58:04 +03:00
10 changed files with 258 additions and 54 deletions

No files matched your search

+1
View File
@@ -1,5 +1,6 @@
.git/ .git/
.github/ .github/
.forgejo/
.idea/ .idea/
.venv/ .venv/
shell.nix shell.nix
+95
View File
@@ -0,0 +1,95 @@
name: Build, Test and Push Flask App
on:
push:
branches: [ main, master ]
jobs:
docker-build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Docker CLI
run: |
apt-get update
apt-get install -y docker.io
docker --version
- name: Configure Docker CLI for insecure registry
run: |
mkdir -p ~/.docker
echo '{"insecure-registries" : ["git.rustprogersteam.ru"]}' > ~/.docker/config.json
cat ~/.docker/config.json
- name: 'Docker Tags'
id: tags
uses: https://github.com/cssnr/docker-tags-action@v2
with:
images: 'git.rustprogersteam.ru/${{ vars.DOCKER_USERNAME }}/myresume'
- name: Login to Docker Registry
uses: docker/login-action@v3
with:
registry: git.rustprogersteam.ru
username: ${{ vars.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: |
git.rustprogersteam.ru/${{ vars.DOCKER_USERNAME }}/myresume/resume:latest
git.rustprogersteam.ru/${{ vars.DOCKER_USERNAME }}/myresume/resume:${{ github.sha }}
labels: ${{ steps.tags.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
deploy:
needs: docker-build-and-push
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Install Ansible
run: |
apt-get update
apt-get install -y ansible openssh-client
- name: Set up SSH key
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
run: |
mkdir -p ~/.ssh
printf '%s\n' "$SSH_PRIVATE_KEY" > ~/.ssh/deploy_key
chmod 600 ~/.ssh/deploy_key
ssh-keygen -y -f ~/.ssh/deploy_key >/dev/null
- name: Trust server host key
run: |
ssh-keyscan -H "${{ secrets.SERVER_IP }}" >> ~/.ssh/known_hosts
- name: Test SSH
run: |
ssh \
-i ~/.ssh/deploy_key \
-o StrictHostKeyChecking=yes \
"${{ secrets.SERVER_USER }}@${{ secrets.SERVER_IP }}" \
'echo SSH works'
- name: Run Ansible playbook
run: |
ansible-playbook \
-i "${{ secrets.SERVER_IP }}," \
ansible/restart_compose.yml \
--user "${{ secrets.SERVER_USER }}" \
--private-key ~/.ssh/deploy_key
+44
View File
@@ -0,0 +1,44 @@
name: Build and Push to GHCR
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
REGISTRY: ghcr.io
jobs:
build-and-push:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write # обязательно для отправки в ghcr
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Convert repository name to lowercase
run: |
echo "IMAGE_NAME=$(echo ${{ github.repository }} | tr '[:upper:]' '[:lower:]')" >> $GITHUB_ENV
- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker image
uses: docker/build-push-action@v5
with:
context: .
push: true
tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.sha }}
Binary file not shown.
+15
View File
@@ -0,0 +1,15 @@
- name: Restart Docker Compose services
hosts: all
# become: yes # <-- больше не нужно, т.к. пользователь уже имеет права Docker
tasks:
- name: docker compose down
ansible.builtin.shell:
cmd: docker compose down
chdir: /etc/compose/resume
- name: prune system
ansible.builtin.shell:
cmd: docker system prune -a -f
- name: docker compose up -d
ansible.builtin.shell:
cmd: docker compose up -d
chdir: /etc/compose/resume
-1
View File
@@ -1,3 +1,2 @@
flask==3.1.2 flask==3.1.2
loguru
gunicorn gunicorn
BIN
View File
Binary file not shown.
-4
View File
@@ -14,10 +14,6 @@ pkgs.mkShell {
source .venv/bin/activate source .venv/bin/activate
if [ -f "requirements-dev.txt" ]; then
pip install -r requirements-dev.txt
fi
if [ -f "dependencies.txt" ]; then if [ -f "dependencies.txt" ]; then
pip install -r dependencies.txt pip install -r dependencies.txt
fi fi
+24
View File
@@ -237,6 +237,30 @@ h1 {
} }
} }
/* Проекты */
.project-item {
margin-bottom: 15px;
padding: 15px;
background-color: rgba(249, 128, 45, 0.05);
border: 1px solid var(--border-color);
border-radius: 8px;
}
.project-item:last-child {
margin-bottom: 0;
}
.project-title {
font-weight: 600;
color: var(--primary);
margin-bottom: 5px;
}
.project-links {
margin-top: 8px;
font-size: 0.85rem;
}
/* Футер */ /* Футер */
.footer { .footer {
text-align: center; text-align: center;
+79 -49
View File
@@ -22,9 +22,7 @@
<div class="info-section"> <div class="info-section">
<h1>Ремизов Кирилл Львович</h1> <h1>Ремизов Кирилл Львович</h1>
<div class="subtitle">Интересующее направление: SRE/DevOps инженер</div> <div class="subtitle">SRE/DevOps инженер</div>
<p>Студент 3 курса ННГУ им. Лобачевского по направлению "Программная инженерия" (Средний бал: 3,85). Стремлюсь к профессиональному росту: изучаю новые технологии, алгоритмы и подходы к разработке. Как молодой специалист, подхожу к работе с энтузиазмом и готов вкладываться в сложные проекты.</p>
<div class="contacts"> <div class="contacts">
<div class="contact-item"> <div class="contact-item">
@@ -94,7 +92,10 @@
<i class="fas fa-trophy"></i> <i class="fas fa-trophy"></i>
<span>Достижения</span> <span>Достижения</span>
</div> </div>
<p><strong>2025</strong> Участие в хакатоне от IT-холдинга Т1, 3-е место.</p> <ul class="list">
<li><strong>2025</strong> — участие в хакатоне от IT-холдинга Т1, 3-е место. <a href="https://disk.rustprogersteam.ru/shr/kvpwutpbt7tt/%D0%A21_%D0%9A%D0%BE%D0%B4_%D0%9C%D0%B0%D1%80%D1%82_Certificate_2025_04_13_17_33_29_145Z_1_compressed.pdf" target="_blank">Сертификат</a></li>
<li><strong>2026</strong> — успешное завершение ИТ-марафона Кейс Лаб по направлению «Облачные сервисы» (18 мая – 29 июня 2026). <a href="https://disk.rustprogersteam.ru/shr/890gdowwch0y/%D0%A0%D0%B5%D0%BC%D0%B8%D0%B7%D0%BE%D0%B2%20%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB%20%D0%9B%D1%8C%D0%B2%D0%BE%D0%B2%D0%B8%D1%87.pdf" target="_blank">Сертификат</a></li>
</ul>
</div> </div>
<!-- Языки --> <!-- Языки -->
@@ -135,8 +136,8 @@
<div class="skill-item"> <div class="skill-item">
<div class="skill-header"> <div class="skill-header">
<span>C++</span> <span>Linux</span>
<span>5/5</span> <span>продвинутый</span>
</div> </div>
<div class="skill-bar"> <div class="skill-bar">
<div class="skill-level" style="width: 100%;"></div> <div class="skill-level" style="width: 100%;"></div>
@@ -145,8 +146,18 @@
<div class="skill-item"> <div class="skill-item">
<div class="skill-header"> <div class="skill-header">
<span>Rust</span> <span>Docker / Docker Compose</span>
<span>4/5</span> <span>продвинутый</span>
</div>
<div class="skill-bar">
<div class="skill-level" style="width: 100%;"></div>
</div>
</div>
<div class="skill-item">
<div class="skill-header">
<span>Ansible</span>
<span>уверенный</span>
</div> </div>
<div class="skill-bar"> <div class="skill-bar">
<div class="skill-level" style="width: 80%;"></div> <div class="skill-level" style="width: 80%;"></div>
@@ -155,18 +166,38 @@
<div class="skill-item"> <div class="skill-item">
<div class="skill-header"> <div class="skill-header">
<span>SQL</span> <span>Terraform</span>
<span>3/5</span> <span>уверенный</span>
</div> </div>
<div class="skill-bar"> <div class="skill-bar">
<div class="skill-level" style="width: 60%;"></div> <div class="skill-level" style="width: 80%;"></div>
</div> </div>
</div> </div>
<div class="skill-item"> <div class="skill-item">
<div class="skill-header"> <div class="skill-header">
<span>Python</span> <span>Git</span>
<span>2/5</span> <span>уверенный</span>
</div>
<div class="skill-bar">
<div class="skill-level" style="width: 80%;"></div>
</div>
</div>
<div class="skill-item">
<div class="skill-header">
<span>GitHub Actions</span>
<span>уверенный</span>
</div>
<div class="skill-bar">
<div class="skill-level" style="width: 80%;"></div>
</div>
</div>
<div class="skill-item">
<div class="skill-header">
<span>Bash</span>
<span>основы</span>
</div> </div>
<div class="skill-bar"> <div class="skill-bar">
<div class="skill-level" style="width: 40%;"></div> <div class="skill-level" style="width: 40%;"></div>
@@ -175,65 +206,64 @@
<div class="skill-item"> <div class="skill-item">
<div class="skill-header"> <div class="skill-header">
<span>CI/CD</span> <span>Python</span>
<span>5/5</span> <span>основы</span>
</div> </div>
<div class="skill-bar"> <div class="skill-bar">
<div class="skill-level" style="width: 100%;"></div> <div class="skill-level" style="width: 40%;"></div>
</div> </div>
</div> </div>
<div class="skill-item"> <div class="skill-item">
<div class="skill-header"> <div class="skill-header">
<span>Linux</span> <span>Kubernetes</span>
<span>5/5</span> <span>основы</span>
</div> </div>
<div class="skill-bar"> <div class="skill-bar">
<div class="skill-level" style="width: 100%;"></div> <div class="skill-level" style="width: 40%;"></div>
</div> </div>
</div> </div>
<div class="skill-item"> <div class="skill-item">
<div class="skill-header"> <div class="skill-header">
<span>Docker</span> <span>Argo CD</span>
<span>5/5</span> <span>основы</span>
</div> </div>
<div class="skill-bar"> <div class="skill-bar">
<div class="skill-level" style="width: 100%;"></div> <div class="skill-level" style="width: 40%;"></div>
</div>
</div>
</div>
<!-- Профессиональные навыки -->
<div class="card">
<div class="card-title">
<i class="fas fa-tools"></i>
<span>Профессиональные навыки</span>
</div>
<div class="two-column-list">
<ul class="list">
<li>Работа с терминалом</li>
<li>Vim</li>
<li>Docker</li>
</ul>
<ul class="list">
<li>Kubernetes</li>
<li>*nix системы</li>
</ul>
</div> </div>
</div> </div>
<!-- Ссылка на репозиторий --> <p style="color: var(--text-muted); margin-top: 10px;"><strong>Дополнительно:</strong> понимание архитектуры сети и безопасности, работа с терминалом, Vim, *nix-системы.</p>
</div>
<!-- Проекты -->
<div class="card"> <div class="card">
<div class="card-title"> <div class="card-title">
<i class="fas fa-code-branch"></i> <i class="fas fa-code-branch"></i>
<span>Репозиторий проекта</span> <span>Проекты</span>
</div>
<div class="project-item">
<div class="project-title">Terraform (IaC)</div>
<p>Автоматизация развёртывания инфраструктуры, инфраструктура как код.</p>
<div class="project-links">
<a href="https://github.com/BlackCorbeau/final_assessment" target="_blank"><i class="fab fa-github"></i> github.com/BlackCorbeau/final_assessment</a>
</div>
</div>
<div class="project-item">
<div class="project-title">Argo CD (GitOps)</div>
<p>GitOps-доставка и синхронизация приложений в Kubernetes.</p>
<div class="project-links">
<a href="https://github.com/BlackCorbeau/lab4" target="_blank"><i class="fab fa-github"></i> github.com/BlackCorbeau/lab4</a>
</div>
</div>
<div class="project-item">
<div class="project-title">Ansible + Docker</div>
<p>Конфигурация серверов Ansible и контейнеризация приложений с Docker (исходный код резюме).</p>
<div class="project-links">
<a href="https://git.rustprogersteam.ru/Black_Raven/MyResume" target="_blank"><i class="fab fa-git-alt"></i> git.rustprogersteam.ru/Black_Raven/MyResume</a>
</div>
</div> </div>
<p>Исходный код этого резюме доступны в репозитории:</p>
<a href="https://git.rustprogersteam.ru/Black_Raven/MyResume" target="_blank" class="repo-link">
<i class="fab fa-git-alt"></i>
<span>https://git.rustprogersteam.ru/Black_Raven/MyResume</span>
</a>
</div> </div>
</div> </div>
</div> </div>