Skip to content
Snippets Groups Projects
Commit 60bbe01b authored by Alex's avatar Alex
Browse files

Add Envoy to automatic deployment

parent 86658307
No related branches found
No related tags found
1 merge request!1Include Wowa Training
......@@ -79,3 +79,15 @@ build:tagged:
- docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD
- docker push cylab/mark-web:$CI_COMMIT_TAG
- docker push cylab/mark-web:latest
deploy:
image: cylab/php72
stage: deploy
script:
# import ssh private key
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
# in cylab/php72, envoy is already installed...
- ~/.composer/vendor/bin/envoy run deploy --commit="$CI_COMMIT_SHA"
@servers(['web' => 'deployer@172.20.115.101'])
@setup
$repository = 'git@gitlab.cylab.be:a.croix/mark-web-webshells-test.git';
$root = '~';
$current_dir = $root . '/current';
$releases_dir = $root . '/releases';
$release = date('YmdHis');
$release_dir = $releases_dir .'/'. $release;
$env = $root . '/env.prod';
@endsetup
@story('deploy')
docker_stop
clone
composer
maven
docker
@endstory
@task('docker_stop')
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
@endtask
@task('clone')
echo 'clone {{ $repository }} ...'
[ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }}
git clone --depth 1 {{ $repository }} {{ $release_dir }}
cd {{ $release_dir }}
git reset --hard {{ $commit }}
@endtask
@task('composer')
echo "install composer dependencies ..."
cd {{ $release_dir }}
composer install --prefer-dist --no-dev -o
@endtask
@task('maven')
echo "Maven compile"
cd {{ $release_dir }}
mvn clean package
cp target/webshells-tests-1.0-SNAPSHOT.jar modules/
@endtask
@task('docker')
echo "Docker-compose"
cd {{ $release_dir }}
docker system prune --volumes -f
docker-compose up -d --build
@endtask
......@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "f98567f66be7257f74cece18fe772cc7",
"content-hash": "577e187ae75c04c534580511015d2b16",
"packages": [
{
"name": "asm89/stack-cors",
......@@ -5684,6 +5684,68 @@
],
"time": "2020-07-09T08:09:16+00:00"
},
{
"name": "laravel/envoy",
"version": "v2.5.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/envoy.git",
"reference": "75cf048ed97e2e04622e51e703a065e7720ce729"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/envoy/zipball/75cf048ed97e2e04622e51e703a065e7720ce729",
"reference": "75cf048ed97e2e04622e51e703a065e7720ce729",
"shasum": ""
},
"require": {
"guzzlehttp/guzzle": "^6.0|^7.0",
"illuminate/support": "^6.0|^7.0|^8.0",
"php": "^7.2|^8.0",
"symfony/console": "^4.3|^5.0",
"symfony/process": "^4.3|^5.0"
},
"require-dev": {
"phpunit/phpunit": "^8.0|^9.0"
},
"suggest": {
"ext-posix": "Required to determine the System user on Unix systems."
},
"bin": [
"bin/envoy"
],
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "2.x-dev"
}
},
"autoload": {
"psr-4": {
"Laravel\\Envoy\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Taylor Otwell",
"email": "taylor@laravel.com"
}
],
"description": "Elegant SSH tasks for PHP.",
"keywords": [
"laravel",
"ssh"
],
"support": {
"issues": "https://github.com/laravel/envoy/issues",
"source": "https://github.com/laravel/envoy/tree/v2.5.0"
},
"time": "2021-01-05T16:21:50+00:00"
},
{
"name": "maximebf/debugbar",
"version": "v1.16.3",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment