Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
GitHub Actions CI-CD
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Косыгин Кирилл Сергеевич
GitHub Actions CI-CD
Commits
1506ec32
Commit
1506ec32
authored
Mar 04, 2022
by
Cyrille
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix dump util
parent
b8d3bafb
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
930 additions
and
901 deletions
+930
-901
.gitignore
.gitignore
+1
-2
README.md
README.md
+20
-0
docker-compose.yaml
docker-compose.yaml
+4
-3
dump.sql
dumps/dump.sql
+895
-893
dump.php
utils/dump.php
+10
-3
No files found.
.gitignore
View file @
1506ec32
db
.idea
db # Volume with DB data
README.md
0 → 100644
View file @
1506ec32
# GitHub Actions: CI/CD
> Использование GitHub как системы для непрерывной интеграции и развертывания современного веб-проекта
**Обязательно поменяйте пароль!**
Логин:
`admin`
Пароль:
`LecOaToQQNm0cWIMIf`
## Фиксация изменений
Воспользуйтесь скриптом
`utils/dump.php`
.
Скрип получает дамп базы данных с помощью
*mysqldump*
контейнера и сохраняет его по пути
`dump/dump.sql`
(относительно
корня проекта); при развёртывании этот дамп автоматически загружается в контейнер.
При миграции на другие ОС могут возникнуть проблемы с выводом в консоль и TTY. А именно: WSL2 сразу же отдаёт весь вывод
в STDOUT, мимо скрипта, поэтому дамп оказывается пуст; если перенаправить вывод, слетит кодировка. Поэтому
**
в Windows
надо делать дамп именно из консоли Windows (CMD, PowerShell)
**
.
docker-compose.yaml
View file @
1506ec32
version
:
"
3.1"
services
:
# admin
# LecOaToQQNm0cWIMIf
wordpress
:
image
:
wordpress
image
:
wordpress
:5.9.1-apache
restart
:
always
ports
:
-
"
8080:80"
...
...
@@ -20,5 +19,7 @@ services:
env_file
:
-
.env
volumes
:
# Use utils/dump.php to dump the database
-
./db
:/var/lib/mysql
-
db_data
:/var/lib/mysql
-
./dumps:/docker-entrypoint-initdb.d
volumes
:
db_data
:
{}
dumps/dump.sql
View file @
1506ec32
This diff is collapsed.
Click to expand it.
utils/dump.php
View file @
1506ec32
#!/usr/bin/env php
<?php
/**
* Usage: php utils/dump.php
> dump.sql
* Usage: php utils/dump.php
* @todo parametrize
*/
...
...
@@ -16,6 +17,9 @@ const USER = 'exampleuser'; // Database user
const
PASSWORD
=
'examplepass'
;
// Database password
const
DB_NAME
=
'exampledb'
;
// Real path of this script...
const
TARGET
=
__DIR__
.
'/../dumps/dump.sql'
;
$cmd
=
sprintf
(
'docker-compose exec %s mysqldump -u%s -p%s %s'
,
...
...
@@ -25,14 +29,17 @@ $cmd = sprintf(
DB_NAME
);
$sql
=
shell_exec
(
$cmd
);
$lines
=
explode
(
"
\n
"
,
$sql
);
echo
implode
(
"
\n
"
,
array_filter
(
$lines
,
function
(
string
$line
)
{
$result
=
implode
(
"
\n
"
,
array_filter
(
$lines
,
function
(
string
$line
)
{
foreach
(
TO_SKIP
as
$ban
)
{
if
(
str
_starts_with
(
$line
,
$ban
)
)
return
false
;
if
(
str
pos
(
$line
,
$ban
)
===
0
)
return
false
;
}
return
true
;
}));
file_put_contents
(
TARGET
,
$result
);
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment