From 5f6cc69c9e1b83494bacf10e544c50741bc912e3 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Fri, 20 May 2016 00:44:10 -0300 Subject: [PATCH 01/29] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3d94d88..e7d535b 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ [![Docker Stars](https://img.shields.io/docker/stars/frekele/helicopterizer.svg)](https://hub.docker.com/r/frekele/helicopterizer/) [![Release](https://img.shields.io/github/release/frekele/helicopterizer.svg)](https://github.com/frekele/helicopterizer/releases/latest) + [![Circle CI](https://circleci.com/gh/frekele/helicopterizer/tree/master.svg?style=shield)](https://circleci.com/gh/frekele/helicopterizer/tree/master) [![Build Status](https://travis-ci.org/frekele/helicopterizer.svg?branch=master)](https://travis-ci.org/frekele/helicopterizer) [![GitHub issues](https://img.shields.io/github/issues/frekele/helicopterizer.svg)](https://github.com/frekele/helicopterizer/issues) From 3046b86b257de5d6485aa5caa4740083b7c46ac1 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Wed, 1 Jun 2016 20:34:00 -0300 Subject: [PATCH 02/29] Update information for Data volume container --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e7d535b..f5861c3 100644 --- a/README.md +++ b/README.md @@ -280,7 +280,7 @@ See [Managing Data in Containers](https://docs.docker.com/userguide/dockervolume *Example with Jenkins:* ``` -docker run -d --name jenkins-data jenkinsci/jenkins:2.0 echo "data-only container for Jenkins" +docker volume create --name jenkins-data docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --volumes-from jenkins-data jenkinsci/jenkins:2.0 ``` @@ -288,7 +288,7 @@ docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --volumes-from jenkins- *Example with Nexus:* ``` -docker run -d --name nexus-data sonatype/nexus3 echo "data-only container for Nexus" +docker volume create --name nexus-data docker run -d -p 8081:8081 --name nexus --volumes-from nexus-data sonatype/nexus3 ``` From 8507f1e0d30bcb74cc3e3f9e74056ae3d178e167 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Wed, 1 Jun 2016 20:59:30 -0300 Subject: [PATCH 03/29] Update information for Data volume container --- README.md | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index f5861c3..fef33c9 100644 --- a/README.md +++ b/README.md @@ -279,8 +279,8 @@ See [Managing Data in Containers](https://docs.docker.com/userguide/dockervolume *Example with Jenkins:* -``` -docker volume create --name jenkins-data +``` +docker run -d --name jenkins-data jenkinsci/jenkins:2.0 echo "data-only container for Jenkins" docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --volumes-from jenkins-data jenkinsci/jenkins:2.0 ``` @@ -288,7 +288,7 @@ docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --volumes-from jenkins- *Example with Nexus:* ``` -docker volume create --name nexus-data +docker run -d --name nexus-data sonatype/nexus3 echo "data-only container for Nexus" docker run -d -p 8081:8081 --name nexus --volumes-from nexus-data sonatype/nexus3 ``` @@ -301,7 +301,12 @@ However it can be useful in certain situations where this volume needs to be ass ``` mkdir /home/jenkins-data -docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /home/jenkins-data:/jenkins-data jenkinsci/jenkins:2.0 +docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /home/jenkins-data:/var/jenkins_home jenkinsci/jenkins + +# or + +docker volume create --name jenkins-data +docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v jenkins-data:/var/jenkins_home jenkinsci/jenkins ``` *Example with Nexus:* @@ -309,6 +314,11 @@ docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /home/jenkins-data:/ ``` mkdir /home/nexus-data && chown -R 200 /home/nexus-data docker run -d -p 8081:8081 --name nexus -v /home/nexus-data:/nexus-data sonatype/nexus3 + +# or + +docker volume create --name nexus-data +docker run -d -p 8081:8081 --name nexus -v nexus-data:/nexus-data sonatype/nexus3 ``` From 3c93550e4adf3be25ab8bce8b1dcc00fafe809dc Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Wed, 1 Jun 2016 21:10:11 -0300 Subject: [PATCH 04/29] Update information for Data volume container --- README.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index fef33c9..7814d4c 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ docker run --rm \ -e AWS_ACCESS_KEY_ID=XXXXXXXXXXXXX \ -e AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \ -e AWS_S3_BUCKET_NAME=s3://my-bucket-backup/ \ --v /home/jenkins-data:/data:ro \ +-v /some/dir/jenkins-data:/data:ro \ helicopterizer backup --tarball ``` @@ -109,7 +109,7 @@ docker run --rm \ -e AWS_ACCESS_KEY_ID=XXXXXXXXXXXXX \ -e AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \ -e AWS_S3_BUCKET_NAME=s3://my-bucket-backup/ \ --v /home/jenkins-data:/data:ro \ +-v /some/dir/jenkins-data:/data:ro \ helicopterizer backup --sync ``` @@ -123,7 +123,7 @@ docker run --rm \ -e AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \ -e AWS_S3_BUCKET_NAME=s3://my-bucket-backup/ \ -e BACKUP_VERSION='2016-05-04T01:34:20Z' \ --v /home/jenkins-data:/data:rw \ +-v /some/dir/jenkins-data:/data:rw \ helicopterizer restore --tarball ``` @@ -135,7 +135,7 @@ docker run --rm \ -e AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX \ -e AWS_S3_BUCKET_NAME=s3://my-bucket-backup/ \ -e BACKUP_VERSION='2016-05-04T01:34:20Z' \ --v /home/jenkins-data:/data:rw \ +-v /some/dir/jenkins-data:/data:rw \ helicopterizer restore --sync ``` @@ -164,7 +164,7 @@ AWS_S3_OPTIONS= . docker run --rm \ --env-file ~/helicopterizer.conf \ --v /home/jenkins-data:/data \ +-v /some/dir/jenkins-data:/data \ helicopterizer [backup|restore] [--tarball|--sync] ``` @@ -236,8 +236,8 @@ Run [Backup|Restore] with other data path: ``` docker run --rm \ ........ --e DATA_PATH=/other-data-directory/ \ --v /home/jenkins-data:/jenkins-data \ +-e DATA_PATH=/var/jenkins_home/ \ +-v /some/dir/jenkins-data:/var/jenkins_home \ helicopterizer [backup|restore] [--tarball|--sync] ``` @@ -300,8 +300,8 @@ However it can be useful in certain situations where this volume needs to be ass *Example with Jenkins:* ``` -mkdir /home/jenkins-data -docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /home/jenkins-data:/var/jenkins_home jenkinsci/jenkins +mkdir /some/dir/jenkins-data +docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /some/dir/jenkins-data:/var/jenkins_home jenkinsci/jenkins # or @@ -312,8 +312,8 @@ docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v jenkins-data:/var/je *Example with Nexus:* ``` -mkdir /home/nexus-data && chown -R 200 /home/nexus-data -docker run -d -p 8081:8081 --name nexus -v /home/nexus-data:/nexus-data sonatype/nexus3 +mkdir /some/dir/nexus-data && chown -R 200 /some/dir/nexus-data +docker run -d -p 8081:8081 --name nexus -v /some/dir/nexus-data:/nexus-data sonatype/nexus3 # or From 8b5c61c66f853b75e4a7df7198c883c99a71fcc8 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Mon, 13 Jun 2016 01:00:10 -0300 Subject: [PATCH 05/29] Upgrade alpine to 3.4 Upgrade alpine to 3.4 --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index ef3d2fd..6f69f29 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.3 +FROM alpine:3.4 MAINTAINER frekele @@ -35,4 +35,4 @@ ENV STORAGE_PROVIDER='' \ ENTRYPOINT ["/scripts/run.sh"] -CMD [""] \ No newline at end of file +CMD [""] From a59df6bac8ea11aa4ff3d9c9118bde7240b51e84 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Tue, 14 Jun 2016 18:58:06 -0300 Subject: [PATCH 06/29] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7814d4c..b71b32b 100644 --- a/README.md +++ b/README.md @@ -300,7 +300,7 @@ However it can be useful in certain situations where this volume needs to be ass *Example with Jenkins:* ``` -mkdir /some/dir/jenkins-data +mkdir /some/dir/jenkins-data && chown -R 1000:1000 /some/dir/jenkins-data docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v /some/dir/jenkins-data:/var/jenkins_home jenkinsci/jenkins # or From f60fac881f05e503392eae73bb3240d6f9fcd15a Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Tue, 14 Jun 2016 19:07:21 -0300 Subject: [PATCH 07/29] Update README.md More info for usage branches and tag version in production. --- README.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/README.md b/README.md index b71b32b..2361bda 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,22 @@ docker run -d [Environment Variables] [-v|--volumes-from] frekele/helicopterizer [backup|restore] [--tarball|--sync] ``` +### Use Stable Branch for (Production) + ``` + docker run -d frekele/helicopterizer:stable + ``` + +### Master Branch for (Development) + ``` + docker run -d frekele/helicopterizer:latest + # or + docker run -d frekele/helicopterizer + ``` + +### Specific Tag Version +``` + docker run -d frekele/helicopterizer:v0.2.1 + ``` #### Cloud Storage Provider Supported: | Provider | Variable Value | Supported | From a0dab1a5f1e568c40ea8bf3a4d8686d1db55b97e Mon Sep 17 00:00:00 2001 From: Luis Hdez Date: Thu, 16 Jun 2016 19:33:10 +0200 Subject: [PATCH 08/29] Remove hardcoded backup naming --- scripts/core/helper.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/core/helper.sh b/scripts/core/helper.sh index 487fc8d..b491f0e 100644 --- a/scripts/core/helper.sh +++ b/scripts/core/helper.sh @@ -110,9 +110,11 @@ removeSlashUri(){ mountFileName(){ local backupVersion=$1; local gzipCompress=$2; - local backupName=$3; + local backupPrefix=$3; + local backupName=$4; local sufix="" local fileName="" + if [ "$gzipCompress" = "true" ]; then sufix=".tar.gz" else @@ -120,9 +122,9 @@ mountFileName(){ fi if [ "$backupName" ]; then - fileName="$backupName-$backupVersion$sufix" + fileName="$backupName" else - fileName="$backupVersion$sufix" + fileName="$backupPrefix$backupVersion$sufix" fi echo "$fileName" } @@ -187,5 +189,3 @@ mountUriS3(){ s3Uri="s3://$s3Uri" echo "$s3Uri" } - - From ad41bd0b07457d95a28dc5a48ba3e0dd39ff840e Mon Sep 17 00:00:00 2001 From: Luis Hdez Date: Thu, 16 Jun 2016 19:34:38 +0200 Subject: [PATCH 09/29] Update function calls for backup naming --- scripts/core/tarball/backup.sh | 2 +- scripts/core/tarball/restore.sh | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/core/tarball/backup.sh b/scripts/core/tarball/backup.sh index 8106e65..0734663 100644 --- a/scripts/core/tarball/backup.sh +++ b/scripts/core/tarball/backup.sh @@ -33,7 +33,7 @@ BACKUP_VERSION=$(createBackupVersion) #Call to mount file name. -fileName=$(mountFileName $BACKUP_VERSION $GZIP_COMPRESSION $BACKUP_NAME) +fileName=$(mountFileName $BACKUP_VERSION $GZIP_COMPRESSION $BACKUP_PREFIX $BACKUP_NAME) #Call tarball Compress. diff --git a/scripts/core/tarball/restore.sh b/scripts/core/tarball/restore.sh index f596112..cd6cada 100644 --- a/scripts/core/tarball/restore.sh +++ b/scripts/core/tarball/restore.sh @@ -29,7 +29,7 @@ extractTarball(){ #Call to mount file name. -fileName=$(mountFileName $BACKUP_VERSION $GZIP_COMPRESSION $BACKUP_NAME) +fileName=$(mountFileName $BACKUP_VERSION $GZIP_COMPRESSION $BACKUP_PREFIX $BACKUP_NAME) #Call to mount Restore file name for copy to /tmp. @@ -61,4 +61,3 @@ echo "downloadResult=$downloadResult" echo "timeBegin=$timeBegin" echo "timeEnd=$timeEnd" echo "timeDuration=$timeDuration second(s)" - From fc39f86161c60a98e21bb4626039fc7bbaa23f61 Mon Sep 17 00:00:00 2001 From: Luis Hdez Date: Thu, 16 Jun 2016 19:40:04 +0200 Subject: [PATCH 10/29] Update docs for new naming strategy --- README.md | 45 +++++++++++++++++++++++---------------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 2361bda..f79bb8f 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ #### Solution Open Source in Backup and Restore, for Docker Container in the Cloud Providers! -[![Helicopterizer Image][HelicopterizerImage]][website] +[![Helicopterizer Image][HelicopterizerImage]][website] [![ImageLayers](https://badge.imagelayers.io/frekele/helicopterizer:latest.svg)](https://imagelayers.io/?images=frekele/helicopterizer:latest) @@ -15,7 +15,7 @@ [![Circle CI](https://circleci.com/gh/frekele/helicopterizer/tree/master.svg?style=shield)](https://circleci.com/gh/frekele/helicopterizer/tree/master) [![Build Status](https://travis-ci.org/frekele/helicopterizer.svg?branch=master)](https://travis-ci.org/frekele/helicopterizer) [![GitHub issues](https://img.shields.io/github/issues/frekele/helicopterizer.svg)](https://github.com/frekele/helicopterizer/issues) -[![GitHub forks](https://img.shields.io/github/forks/frekele/helicopterizer.svg)](https://github.com/frekele/helicopterizer/network) +[![GitHub forks](https://img.shields.io/github/forks/frekele/helicopterizer.svg)](https://github.com/frekele/helicopterizer/network) [![GitHub stars](https://img.shields.io/github/stars/frekele/helicopterizer.svg)](https://github.com/frekele/helicopterizer/stargazers) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/frekele/helicopterizer/master/LICENSE) @@ -69,9 +69,10 @@ | STORAGE_PROVIDER | null | backup, restore | yes | tarball, sync | Provider name (AWS, AZURE, GOOGLE ...) | | DATA_PATH | /data/ | backup, restore | no | tarball, sync | Data path : /data/(your files) | | CRON_SCHEDULE | null | backup, restore | no | tarball, sync | Cron Job Scheduler, Eg: '*/15 * * * *' run every 15 minutes | -| BACKUP_NAME | null | backup, restore | no | tarball | Backup name using: $(BACKUP_NAME)-$(BACKUP_VERSION).tar.gz | +| BACKUP_PREFIX | null | backup, restore | no | tarball | Default name schema: $(BACKUP_PREFIX)$(BACKUP_VERSION).tar.gz | +| BACKUP_NAME | null | backup, restore | no | tarball | If defined the name shcema is: $(BACKUP_NAME).tar.gz | | GZIP_COMPRESSION | true | backup, restore | no | tarball | Boolean to indicate the compression of the file .tar to .tar.gz | -| CLEAN_DATA_BEFORE_RESTORE | false | restore | no | tarball, sync | Clear the data directory before the restore | +| CLEAN_DATA_BEFORE_RESTORE | false | restore | no | tarball, sync | Clear the data directory before the restore | | BACKUP_VERSION | null | restore | yes | tarball | Backup version using: $(BACKUP_VERSION).tar.gz | @@ -156,8 +157,8 @@ helicopterizer restore --sync ``` *Use ':rw' to mount the volumes in read-write mode.* - - + + Run [Backup|Restore] with environment file: ``` touch ~/helicopterizer.conf @@ -290,24 +291,24 @@ There are two general approaches to handling persistent storage requirements wit See [Managing Data in Containers](https://docs.docker.com/userguide/dockervolumes/) for additional information. #### Data volume container - + *Use a data volume container*. Since data volumes are persistent until no containers use them, a container can created specifically for this purpose. -*Example with Jenkins:* - +*Example with Jenkins:* + ``` docker run -d --name jenkins-data jenkinsci/jenkins:2.0 echo "data-only container for Jenkins" docker run -d -p 8080:8080 -p 50000:50000 --name jenkins --volumes-from jenkins-data jenkinsci/jenkins:2.0 ``` - - + + *Example with Nexus:* - + ``` docker run -d --name nexus-data sonatype/nexus3 echo "data-only container for Nexus" docker run -d -p 8081:8081 --name nexus --volumes-from nexus-data sonatype/nexus3 ``` - + #### Data volume *Mount a host directory as the volume*. This is not portable, as it relies on the directory existing with correct permissions on the host. @@ -342,32 +343,32 @@ docker run -d -p 8081:8081 --name nexus -v nexus-data:/nexus-data sonatype/nexus ### Building: Build with the usual - + docker build -t helicopterizer . - + Tests are written using [bats](https://github.com/sstephenson/bats) under the `tests` dir - + bats tests - - + + ### License: Helicopterizer is **licensed** under the **[MIT License]**. The terms of the license are as follows: The MIT License (MIT) - + Copyright (c) 2016 Leandro Kersting de Freitas - + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE From 7e404414917e18ffc28356e03c6b4711389552e7 Mon Sep 17 00:00:00 2001 From: Luis Hdez Date: Fri, 17 Jun 2016 23:02:57 +0200 Subject: [PATCH 11/29] Add missing suffix --- scripts/core/helper.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/core/helper.sh b/scripts/core/helper.sh index b491f0e..7729eab 100644 --- a/scripts/core/helper.sh +++ b/scripts/core/helper.sh @@ -122,7 +122,7 @@ mountFileName(){ fi if [ "$backupName" ]; then - fileName="$backupName" + fileName="$backupName$sufix" else fileName="$backupPrefix$backupVersion$sufix" fi From 9f546c91a1037d23869c2a3b41650af73ac42415 Mon Sep 17 00:00:00 2001 From: Luis Hdez Date: Sat, 18 Jun 2016 18:24:01 +0200 Subject: [PATCH 12/29] Add control for emtpy string in backup name --- scripts/core/helper.sh | 2 +- scripts/core/tarball/backup.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/core/helper.sh b/scripts/core/helper.sh index 7729eab..99e6b26 100644 --- a/scripts/core/helper.sh +++ b/scripts/core/helper.sh @@ -121,7 +121,7 @@ mountFileName(){ sufix=".tar" fi - if [ "$backupName" ]; then + if [ -n "$backupName" ]; then fileName="$backupName$sufix" else fileName="$backupPrefix$backupVersion$sufix" diff --git a/scripts/core/tarball/backup.sh b/scripts/core/tarball/backup.sh index 0734663..978ec22 100644 --- a/scripts/core/tarball/backup.sh +++ b/scripts/core/tarball/backup.sh @@ -33,7 +33,7 @@ BACKUP_VERSION=$(createBackupVersion) #Call to mount file name. -fileName=$(mountFileName $BACKUP_VERSION $GZIP_COMPRESSION $BACKUP_PREFIX $BACKUP_NAME) +fileName=$(mountFileName $BACKUP_VERSION $GZIP_COMPRESSION "$BACKUP_PREFIX" "$BACKUP_NAME") #Call tarball Compress. From 73635ff443bc11a6fa54f2e29d708addde4b901e Mon Sep 17 00:00:00 2001 From: Luis Hdez Date: Sat, 18 Jun 2016 19:16:27 +0200 Subject: [PATCH 13/29] Fix arguments for filename in restore --- scripts/core/tarball/backup.sh | 2 +- scripts/core/tarball/restore.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/core/tarball/backup.sh b/scripts/core/tarball/backup.sh index 978ec22..9c1c5a6 100644 --- a/scripts/core/tarball/backup.sh +++ b/scripts/core/tarball/backup.sh @@ -33,7 +33,7 @@ BACKUP_VERSION=$(createBackupVersion) #Call to mount file name. -fileName=$(mountFileName $BACKUP_VERSION $GZIP_COMPRESSION "$BACKUP_PREFIX" "$BACKUP_NAME") +fileName=$(mountFileName "$BACKUP_VERSION" $GZIP_COMPRESSION "$BACKUP_PREFIX" "$BACKUP_NAME") #Call tarball Compress. diff --git a/scripts/core/tarball/restore.sh b/scripts/core/tarball/restore.sh index cd6cada..708bae8 100644 --- a/scripts/core/tarball/restore.sh +++ b/scripts/core/tarball/restore.sh @@ -29,7 +29,7 @@ extractTarball(){ #Call to mount file name. -fileName=$(mountFileName $BACKUP_VERSION $GZIP_COMPRESSION $BACKUP_PREFIX $BACKUP_NAME) +fileName=$(mountFileName "$BACKUP_VERSION" $GZIP_COMPRESSION "$BACKUP_PREFIX" "$BACKUP_NAME") #Call to mount Restore file name for copy to /tmp. From df31bb4c352ed24c4cca09ee0d991f1332f3fcd2 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Sun, 3 Jul 2016 02:45:53 -0300 Subject: [PATCH 14/29] Upgrade Docker to 1.11.2 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 6f69f29..ffecf44 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ RUN apk add --update --no-cache \ python\ py-pip \ docker \ - && curl -sL https://get.docker.com/builds/Linux/x86_64/docker-1.10.3 > /usr/bin/docker \ + && curl -sL https://get.docker.com/builds/Linux/x86_64/docker-1.11.2 > /usr/bin/docker \ && chmod +x /usr/bin/docker \ && pip install --upgrade pip \ && pip install awscli From 720dac417742fbb6ab84f22b2de554e9480d20a4 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Wed, 13 Jul 2016 19:09:08 -0300 Subject: [PATCH 15/29] . --- .gitignore | 2 +- .idea/vcs.xml | 2 +- helicopterizer.iml | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 57f1cb2..85e7c1d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/.idea/ \ No newline at end of file +/.idea/ diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 94a25f7..35eb1dd 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/helicopterizer.iml b/helicopterizer.iml index 80cc739..a3c52db 100644 --- a/helicopterizer.iml +++ b/helicopterizer.iml @@ -3,6 +3,7 @@ + - \ No newline at end of file + From fa5038c51c88ceb99256abf9b045e1cdf725d203 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Wed, 13 Jul 2016 19:09:32 -0300 Subject: [PATCH 16/29] Delete vcs.xml --- .idea/vcs.xml | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .idea/vcs.xml diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file From 60863433c285b548a9dbb9686eacb51841d9fcd3 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Wed, 20 Jul 2016 11:59:45 -0300 Subject: [PATCH 17/29] update badge imagelayers https://badge.imagelayers.io/frekele/helicopterizer:master.svg --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f79bb8f..0e394b8 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ [![Helicopterizer Image][HelicopterizerImage]][website] -[![ImageLayers](https://badge.imagelayers.io/frekele/helicopterizer:latest.svg)](https://imagelayers.io/?images=frekele/helicopterizer:latest) +[![ImageLayers](https://badge.imagelayers.io/frekele/helicopterizer:master.svg)](https://imagelayers.io/?images=frekele/helicopterizer:master) [![Gitter](https://badges.gitter.im/frekele/helicopterizer.svg)](https://gitter.im/frekele/helicopterizer?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Docker Pulls](https://img.shields.io/docker/pulls/frekele/helicopterizer.svg)](https://hub.docker.com/r/frekele/helicopterizer/) From ab54903cd4caef31c83dac42b4bf4e92ddba9eb0 Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 3 Aug 2016 10:58:28 +0200 Subject: [PATCH 18/29] Add AWS_S3_BUCKET_CREATE option to create bucket if NoSuchBucket --- Dockerfile | 1 + README.md | 9 +++++++++ scripts/core/helper.sh | 14 ++++++++++++++ scripts/provider/aws/sync/upload.sh | 4 +++- scripts/provider/aws/tarball/upload.sh | 3 +++ 5 files changed, 30 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index ffecf44..22bd04b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,6 +28,7 @@ ENV STORAGE_PROVIDER='' \ CRON_SCHEDULE='' \ AWS_ACCESS_KEY_ID='' \ AWS_SECRET_ACCESS_KEY='' \ + AWS_S3_BUCKET_CREATE='false' \ AWS_S3_BUCKET_NAME='' \ AWS_S3_PATH='/' \ AWS_DEFAULT_REGION='us-east-1' \ diff --git a/README.md b/README.md index 0e394b8..433763e 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,7 @@ | AWS_ACCESS_KEY_ID | null | backup, restore | yes | tarball, sync | AWS access key. Eg: AKRJPMI3QYCARJCRF4VF | | AWS_SECRET_ACCESS_KEY | null | backup, restore | yes | tarball, sync | AWS secret key. Eg: VCsrO7aVulGuiUdXbS31jtQA4iRTVgi4scftJAJr | | AWS_S3_BUCKET_NAME | null | backup, restore | yes | tarball, sync | S3 bucket name. Eg: s3://my-bucket-backup/ | +| AWS_S3_BUCKET_CREATE | false | backup | no | tarball, sync | Boolean to indicate if we create the bucket (if not exists) | | AWS_S3_PATH | / | backup, restore | no | tarball, sync | Relative path for bucket S3. Eg: (AWS_S3_BUCKET_NAME)/jenkins/ | | AWS_DEFAULT_REGION | us-east-1 | backup, restore | no | tarball, sync | Default region bucket. Eg: (sa-east-1) | | AWS_S3_OPTIONS | null | backup, restore | no | tarball, sync | AWS S3 options parameters. See in [AWS CLI S3] | @@ -239,6 +240,14 @@ docker run --rm \ helicopterizer [backup|restore] --tarball ``` +Run [Backup|Restore] with bucket creation (if NoSuchBucket): +``` +docker run --rm \ +........ +-e AWS_S3_BUCKET_CREATE=true \ +helicopterizer [backup|restore] --tarball +``` + Run With clean the date before the restore: ***[Be careful here, you will lose all your data inside DATA_PATH directory].*** diff --git a/scripts/core/helper.sh b/scripts/core/helper.sh index 99e6b26..b84b496 100644 --- a/scripts/core/helper.sh +++ b/scripts/core/helper.sh @@ -93,6 +93,7 @@ printEnvs(){ echo "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" echo "AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY" echo "AWS_DEFAULT_REGION=$AWS_DEFAULT_REGION" + echo "AWS_S3_BUCKET_CREATE=$AWS_S3_BUCKET_CREATE" echo "AWS_S3_BUCKET_NAME=$AWS_S3_BUCKET_NAME" echo "AWS_S3_PATH=$AWS_S3_PATH" echo "AWS_S3_OPTIONS=$AWS_S3_OPTIONS" @@ -189,3 +190,16 @@ mountUriS3(){ s3Uri="s3://$s3Uri" echo "$s3Uri" } + +createS3Bucket(){ + # Check if create is required + if [ "$AWS_S3_BUCKET_CREATE" = "true" ]; then + local bucketS3Uri="s3://$AWS_S3_BUCKET_NAME" + # Test if bucket doesn't exists + if aws s3 ls "s3://$AWS_S3_BUCKET_NAME" 2>&1 | grep -q 'NoSuchBucket'; then + # Create bucket + local s3BucketCreationResult=$(aws s3 mb "$bucketS3Uri") + echo "$s3BucketCreationResult" + fi + fi +} diff --git a/scripts/provider/aws/sync/upload.sh b/scripts/provider/aws/sync/upload.sh index b7cbd9a..092a344 100644 --- a/scripts/provider/aws/sync/upload.sh +++ b/scripts/provider/aws/sync/upload.sh @@ -12,11 +12,13 @@ SyncUploadToS3(){ echo "$s3Result" } - uploadSync(){ #Call to mount uri S3. s3Uri=$(mountUriS3 "/" $AWS_S3_BUCKET_NAME $AWS_S3_PATH) + local createS3BucketResult=$(createS3Bucket) + echo "$createS3BucketResult" + echo "Starting Upload Sync from: $DATA_PATH/ to $s3Uri/" local s3Result=$(SyncUploadToS3) echo "$s3Result" diff --git a/scripts/provider/aws/tarball/upload.sh b/scripts/provider/aws/tarball/upload.sh index 3613052..ad96c22 100644 --- a/scripts/provider/aws/tarball/upload.sh +++ b/scripts/provider/aws/tarball/upload.sh @@ -15,6 +15,9 @@ uploadTarball(){ #Call to mount uri S3. s3Uri=$(mountUriS3 $1 $AWS_S3_BUCKET_NAME $AWS_S3_PATH) + local createS3BucketResult=$(createS3Bucket) + echo "$createS3BucketResult" + echo "Starting Upload Tarball from: /tmp/$1 to $s3Uri" local s3Result=$(uploadToS3 $1) echo "$s3Result" From d98aadd2b85cdd5a90f6c0000cf8f99c485b402a Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Thu, 4 Aug 2016 03:39:15 -0300 Subject: [PATCH 19/29] add AWS_S3_BUCKET_CREATE=false --- helicopterizer-demo.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/helicopterizer-demo.conf b/helicopterizer-demo.conf index ec9bca2..f3f892f 100644 --- a/helicopterizer-demo.conf +++ b/helicopterizer-demo.conf @@ -10,6 +10,7 @@ BACKUP_VERSION= CRON_SCHEDULE= AWS_ACCESS_KEY_ID=XXXXXXXXXXXXX AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX +AWS_S3_BUCKET_CREATE=false AWS_S3_BUCKET_NAME=s3://my-bucket-backup/ AWS_S3_PATH=/ AWS_DEFAULT_REGION=us-east-1 From 9d08f09478b3a0a347e0992c7f699b2b6b7bf247 Mon Sep 17 00:00:00 2001 From: Benjamin Longearet Date: Fri, 16 Sep 2016 16:32:01 +0200 Subject: [PATCH 20/29] Allow DATA_PATH_EXCLUDE option --- Dockerfile | 1 + README.md | 12 ++++++++++++ scripts/core/helper.sh | 1 + scripts/core/tarball/backup.sh | 13 +++++++++++-- 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 22bd04b..c3d37cd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -22,6 +22,7 @@ RUN chmod -R +x /scripts ENV STORAGE_PROVIDER='' \ BACKUP_NAME='' \ DATA_PATH='/data/' \ + DATA_PATH_EXCLUDE='' \ GZIP_COMPRESSION='true' \ CLEAN_DATA_BEFORE_RESTORE='false' \ BACKUP_VERSION='' \ diff --git a/README.md b/README.md index 433763e..2274914 100644 --- a/README.md +++ b/README.md @@ -68,6 +68,7 @@ | ------------------------------- | ------------------- | ---------------------- | --------- | --------------- | --------------------------------------------------------------- | | STORAGE_PROVIDER | null | backup, restore | yes | tarball, sync | Provider name (AWS, AZURE, GOOGLE ...) | | DATA_PATH | /data/ | backup, restore | no | tarball, sync | Data path : /data/(your files) | +| DATA_PATH_EXCLUDE | null | backup | no | tarball | Exclude file from data path (comma-separated) | | CRON_SCHEDULE | null | backup, restore | no | tarball, sync | Cron Job Scheduler, Eg: '*/15 * * * *' run every 15 minutes | | BACKUP_PREFIX | null | backup, restore | no | tarball | Default name schema: $(BACKUP_PREFIX)$(BACKUP_VERSION).tar.gz | | BACKUP_NAME | null | backup, restore | no | tarball | If defined the name shcema is: $(BACKUP_NAME).tar.gz | @@ -267,6 +268,17 @@ docker run --rm \ helicopterizer [backup|restore] [--tarball|--sync] ``` +Run [Backup] with other data path & exclude jenkins workspace: +``` +docker run --rm \ +........ +-e DATA_PATH=/var/jenkins_home/ \ +-e DATA_PATH_EXCLUDE=workspace \ +-v /some/dir/jenkins-data:/var/jenkins_home \ +helicopterizer [backup|restore] [--tarball|--sync] +``` + + Run [Backup|Restore] with other AWS Region: ``` docker run --rm \ diff --git a/scripts/core/helper.sh b/scripts/core/helper.sh index b84b496..f5ac151 100644 --- a/scripts/core/helper.sh +++ b/scripts/core/helper.sh @@ -88,6 +88,7 @@ printEnvs(){ echo "BACKUP_NAME=$BACKUP_NAME" echo "BACKUP_VERSION=$BACKUP_VERSION" echo "DATA_PATH=$DATA_PATH" + echo "DATA_PATH_EXCLUDE=$DATA_PATH_EXCLUDE" echo "CRON_SCHEDULE=$CRON_SCHEDULE" echo "GZIP_COMPRESSION=$GZIP_COMPRESSION" echo "AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID" diff --git a/scripts/core/tarball/backup.sh b/scripts/core/tarball/backup.sh index 9c1c5a6..25b7848 100644 --- a/scripts/core/tarball/backup.sh +++ b/scripts/core/tarball/backup.sh @@ -20,11 +20,20 @@ echo "Starting Tarball Backup to ${STORAGE_PROVIDER^^} ..." #Create tarball with gzip or not. compressTarball(){ echo "Starting compress: $DATA_PATH/ to /tmp/$1" + # Build tar arguments + TAR_CMD="" + ## Exclude options + for i in $(echo "$DATA_PATH_EXCLUDE," | tr "," "\n"); do + if [ -n "$i" ]; then + TAR_CMD="$TAR_CMD --exclude '$i'" + fi + done if [ "$GZIP_COMPRESSION" = "true" ]; then - tar -zcvf /tmp/$1 -C $DATA_PATH/ . + TAR_CMD="$TAR_CMD -zcvf /tmp/$1 -C $DATA_PATH/ ." else - tar -cvf /tmp/$1 -C $DATA_PATH/ . + TAR_CMD="$TAR_CMD tar -cvf /tmp/$1 -C $DATA_PATH/ ." fi + eval "tar $TAR_CMD" } From 6394db136a4244fcdcd7d133a75d104912fd915c Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Sat, 17 Sep 2016 04:53:24 -0300 Subject: [PATCH 21/29] removed shield zenhub, using github project now. --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 2274914..1ba2710 100644 --- a/README.md +++ b/README.md @@ -19,8 +19,6 @@ [![GitHub stars](https://img.shields.io/github/stars/frekele/helicopterizer.svg)](https://github.com/frekele/helicopterizer/stargazers) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/frekele/helicopterizer/master/LICENSE) - - ## Backup and Restore for Docker Container #### Solution Open Source in Backup and Restore, for Docker Container in the Cloud Providers! From 31b5b04907a9e5aa98c7108a29c30152fab8bc7e Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Tue, 20 Dec 2016 19:14:09 -0200 Subject: [PATCH 22/29] Upgrade Docker Engine to 1.12.5 resolve #20 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index c3d37cd..5047779 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ RUN apk add --update --no-cache \ python\ py-pip \ docker \ - && curl -sL https://get.docker.com/builds/Linux/x86_64/docker-1.11.2 > /usr/bin/docker \ + && curl -sL https://get.docker.com/builds/Linux/x86_64/docker-1.12.5 > /usr/bin/docker \ && chmod +x /usr/bin/docker \ && pip install --upgrade pip \ && pip install awscli From 0baf845c27429db5ae13126bedb05267b29f32c4 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Tue, 3 Jan 2017 16:23:52 -0200 Subject: [PATCH 23/29] Update README.md --- README.md | 61 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 48 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 1ba2710..37e205f 100644 --- a/README.md +++ b/README.md @@ -26,26 +26,31 @@ ### Usage: - ``` - docker run -d [Environment Variables] [-v|--volumes-from] frekele/helicopterizer [backup|restore] [--tarball|--sync] - ``` +``` +docker run -d [Environment Variables] [-v|--volumes-from] frekele/helicopterizer [backup|restore] [--tarball|--sync] +``` + ### Use Stable Branch for (Production) - ``` - docker run -d frekele/helicopterizer:stable - ``` +``` +docker run -d frekele/helicopterizer:stable +``` + ### Master Branch for (Development) - ``` - docker run -d frekele/helicopterizer:latest - # or - docker run -d frekele/helicopterizer - ``` +``` +docker run -d frekele/helicopterizer:latest +# or +docker run -d frekele/helicopterizer +``` + ### Specific Tag Version + ``` - docker run -d frekele/helicopterizer:v0.2.1 - ``` +docker run -d frekele/helicopterizer:v0.2.1 +``` + #### Cloud Storage Provider Supported: | Provider | Variable Value | Supported | @@ -109,6 +114,7 @@ us-gov-west-1 | US GovCloud West (Oregon) | ### Usage Examples: Run Backup with tarball: + ``` docker run --rm \ -e STORAGE_PROVIDER=AWS \ @@ -119,7 +125,9 @@ docker run --rm \ helicopterizer backup --tarball ``` + Run Backup with sync filesystem: + ``` docker run --rm \ -e STORAGE_PROVIDER=AWS \ @@ -132,7 +140,9 @@ helicopterizer backup --sync *Use ':ro' to mount the volumes in read-only mode.* + Run Restore with tarball: + ``` docker run --rm \ -e STORAGE_PROVIDER=AWS \ @@ -144,7 +154,9 @@ docker run --rm \ helicopterizer restore --tarball ``` + Run Restore with sync filesystem: + ``` docker run --rm \ -e STORAGE_PROVIDER=AWS \ @@ -160,6 +172,7 @@ helicopterizer restore --sync Run [Backup|Restore] with environment file: + ``` touch ~/helicopterizer.conf ################################## @@ -185,7 +198,9 @@ docker run --rm \ helicopterizer [backup|restore] [--tarball|--sync] ``` + Run [Backup|Restore] with data volume container: + ``` docker run --rm \ ........ @@ -194,6 +209,7 @@ docker run --rm \ helicopterizer [backup|restore] [--tarball|--sync] ``` + Run [Backup|Restore] with Cron Job Scheduler (System Timezone is UTC): ``` @@ -220,10 +236,13 @@ helicopterizer [backup|restore] [--tarball|--sync] - CRON_SCHEDULE='@midnight' - Run once a Day, the same as: '0 0 * * *' and @daily; - CRON_SCHEDULE='@hourly' - Run once a Hour, the same as: '0 * * * *'; ``` + More info to usage: [Cron Wiki]. + Run [Backup|Restore] with prefix name *$(BACKUP_NAME)-$(BACKUP_VERSION).tar.gz*: + ``` docker run --rm \ ........ @@ -231,7 +250,9 @@ docker run --rm \ helicopterizer [backup|restore] --tarball ``` + Run [Backup|Restore] without gzip compression: + ``` docker run --rm \ ........ @@ -239,7 +260,9 @@ docker run --rm \ helicopterizer [backup|restore] --tarball ``` + Run [Backup|Restore] with bucket creation (if NoSuchBucket): + ``` docker run --rm \ ........ @@ -247,9 +270,11 @@ docker run --rm \ helicopterizer [backup|restore] --tarball ``` + Run With clean the date before the restore: ***[Be careful here, you will lose all your data inside DATA_PATH directory].*** + ``` docker run --rm \ ........ @@ -257,7 +282,9 @@ docker run --rm \ helicopterizer restore [--tarball|--sync] ``` + Run [Backup|Restore] with other data path: + ``` docker run --rm \ ........ @@ -266,7 +293,9 @@ docker run --rm \ helicopterizer [backup|restore] [--tarball|--sync] ``` + Run [Backup] with other data path & exclude jenkins workspace: + ``` docker run --rm \ ........ @@ -278,6 +307,7 @@ helicopterizer [backup|restore] [--tarball|--sync] Run [Backup|Restore] with other AWS Region: + ``` docker run --rm \ ........ @@ -285,7 +315,9 @@ docker run --rm \ helicopterizer [backup|restore] [--tarball|--sync] ``` + Run [Backup|Restore] with subdirectories in AWS S3: + ``` docker run --rm \ ........ @@ -293,7 +325,9 @@ docker run --rm \ helicopterizer [backup|restore] [--tarball|--sync] ``` + Run [Backup|Restore] with Options [AWS CLI S3]: + ``` docker run --rm \ ........ @@ -345,6 +379,7 @@ docker volume create --name jenkins-data docker run -d -p 8080:8080 -p 50000:50000 --name jenkins -v jenkins-data:/var/jenkins_home jenkinsci/jenkins ``` + *Example with Nexus:* ``` From 2fac766c5a0fb3783ad280ce93fd37c4d0742c9f Mon Sep 17 00:00:00 2001 From: Philippe Dupont Date: Wed, 11 Jan 2017 11:21:29 +0100 Subject: [PATCH 24/29] Fix double tar command for tarball without gzip --- scripts/core/tarball/backup.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/core/tarball/backup.sh b/scripts/core/tarball/backup.sh index 25b7848..7e08578 100644 --- a/scripts/core/tarball/backup.sh +++ b/scripts/core/tarball/backup.sh @@ -31,7 +31,7 @@ compressTarball(){ if [ "$GZIP_COMPRESSION" = "true" ]; then TAR_CMD="$TAR_CMD -zcvf /tmp/$1 -C $DATA_PATH/ ." else - TAR_CMD="$TAR_CMD tar -cvf /tmp/$1 -C $DATA_PATH/ ." + TAR_CMD="$TAR_CMD -cvf /tmp/$1 -C $DATA_PATH/ ." fi eval "tar $TAR_CMD" } From adda82652b0985e2cdd4017b4876dd9bb20feb2e Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Wed, 11 Jan 2017 17:16:25 -0200 Subject: [PATCH 25/29] Upgrade to Alpine 3.5 Upgrade to Alpine 3.5 . resolved #22 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 5047779..1c35598 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.4 +FROM alpine:3.5 MAINTAINER frekele From d1b5dd69688eb7c3e5152010692963ec27cfb45e Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Wed, 11 Jan 2017 17:44:55 -0200 Subject: [PATCH 26/29] Fix ERROR: unsatisfiable constraints: py-pip Error occurs because the py-pip package is no longer available in the alpine version: 3.5 The package now is called py2-pip (referring to python version 2). fixed #24 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 1c35598..3055d67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -8,7 +8,7 @@ RUN apk add --update --no-cache \ wget \ git \ python\ - py-pip \ + py2-pip \ docker \ && curl -sL https://get.docker.com/builds/Linux/x86_64/docker-1.12.5 > /usr/bin/docker \ && chmod +x /usr/bin/docker \ From ea0f705f4f8ccad43fa87a827a964d396503e46a Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Wed, 11 Jan 2017 17:52:11 -0200 Subject: [PATCH 27/29] Upgrade to Docker 1.12.6 Upgrade to Docker 1.12.6 . resolved #23 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 3055d67..2382f80 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,7 +10,7 @@ RUN apk add --update --no-cache \ python\ py2-pip \ docker \ - && curl -sL https://get.docker.com/builds/Linux/x86_64/docker-1.12.5 > /usr/bin/docker \ + && curl -sL https://get.docker.com/builds/Linux/x86_64/docker-1.12.6 > /usr/bin/docker \ && chmod +x /usr/bin/docker \ && pip install --upgrade pip \ && pip install awscli From 0214e89b9f9a8b7d03c6cc01563284708f1cef33 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Fri, 11 Aug 2017 06:57:52 -0300 Subject: [PATCH 28/29] Update Dockerfile --- Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2382f80..3bcfc89 100644 --- a/Dockerfile +++ b/Dockerfile @@ -10,8 +10,8 @@ RUN apk add --update --no-cache \ python\ py2-pip \ docker \ - && curl -sL https://get.docker.com/builds/Linux/x86_64/docker-1.12.6 > /usr/bin/docker \ - && chmod +x /usr/bin/docker \ + #&& curl -sL https://get.docker.com/builds/Linux/x86_64/docker-1.12.6 > /usr/bin/docker \ + #&& chmod +x /usr/bin/docker \ && pip install --upgrade pip \ && pip install awscli From bab9cef7212fcb4aca571ad9c61e45ed34fc66c7 Mon Sep 17 00:00:00 2001 From: Leandro Kersting de Freitas Date: Fri, 11 Aug 2017 07:00:34 -0300 Subject: [PATCH 29/29] Update .travis.yml --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 7dc91b5..0904aef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ services: before_install: - sudo apt-get clean && sudo apt-get update -y - - sudo apt-get install -o Dpkg::Options::="--force-confold" --force-yes -y docker-engine + - sudo apt-get install -o Dpkg::Options::="--force-confold" --force-yes -y docker-ce - docker --version - git clone https://github.com/sstephenson/bats.git