database merupakan element penting untuk menyimpan data, pada episode kali ini kita akan membuat automation backup dan upload database ke AWS S3, sebelumnya daftar dulu aplikasi AWS
setelah menuju service S3

create bucket

create credentials account

tambahkan user

centang programmatic access

pilih AmazonS3FullAccess

klik next biarkan kosong

Download credentials Account

selanjutnya kita setup di environtment docker
sudo docker exec -it centos1 bash
server database pada address “database” maka dari itu kita build docker compose terlebih dahulu
sudo vim docker-compose.yml
version: '3'
services:
jenkins:
container_name: jenkins
image: jenkins/jenkins
ports:
- "8080:8080"
volumes:
- "./jenkins_home:/var/jenkins_home"
networks:
- net
remote_host:
container_name: remote-host
image: remote-host
build:
context: centos7
networks:
- net
centos1:
container_name: centos1
image: centos1
build:
context: OS
networks:
- net
database:
container_name: database
image: mysql:5.7
environment:
- "MYSQL_ROOT_PASSWORD=12345"
volumes:
- "./database_data:/var/lib/mysql"
networks:
- net
networks:
net: sudo docker-compose build
sudo docker-compose up -d

untuk tutorial database bisa dilihat disini https://blog.sandysend.com/2020/08/27/create-mysql-database-in-docker-inside-jenkins/
selanjutnya adalah setup s3 dengan environtment pada Dockerfile centos1
vim Dockerfile
FROM centos:7
RUN yum -y install openssh-server passwd
RUN useradd remote_user && \
echo "12345" | passwd remote_user --stdin && \
mkdir /home/remote_user/.ssh && \
chmod 700 /home/remote_user/.ssh
COPY remote_key.pub /home/remote_user/.ssh/authorized_keys
RUN chown remote_user:remote_user -R /home/remote_user/.ssh && \
chmod 600 /home/remote_user/.ssh/authorized_keys
RUN yum install -y initscripts && \
/usr/sbin/sshd-keygen
RUN yum install -y mysql
RUN curl -O https://bootstrap.pypa.io/get-pip.py && \
python get-pip.py && \
pip install awscli --upgrade && \
export AWS_ACCESS_KEY_ID=AKIARQ7ZH7UDLHHAYYEY && \
export AWS_SECRET_ACCESS_KEY=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
CMD ["/usr/sbin/sshd", "-D"]sudo docker-compose build
sudo docker-compose up -d
mysqldump -u root -p -h database test > ~/db.sql

aws s3 cp /tmp/db.sql s3://sandysend-db/db.sql

selamat kita sudah bisa akses database ke S3 AWS, selanjutnya kita bikin script sederhana seperti berikut
#/bin/sh
DATE=$(date +%H-%M-%S)
FILE=db-$DATE.sql
USERNAME=$1
PASSWORD=$2
HOST=$3
DATABASE=$4
mysqldump -u $USERNAME -p$PASSWORD -h $HOST $DATABASE > ~/$FILE && \
export AWS_ACCESS_KEY_ID=AKIARQ7ZH7UDDECC5BXI && \
export AWS_SECRET_ACCESS_KEY=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 && \
echo "backup local database to AWS S3" && \
aws s3 cp ~/$FILE s3://sandysend-db/$FILEroot@c0fe64274365 ~]# ./script.sh root 12345 database test

finally