1
0
mirror of https://github.com/imapsync/imapsync.git synced 2024-11-17 00:02:29 +01:00
imapsync/INSTALL.d/memo_docker
Nick Bebout 42dd32ab62 2.200
2022-06-01 10:47:18 -05:00

139 lines
3.7 KiB
Bash

#!/bin/sh
# $Id: memo_docker,v 1.17 2022/04/04 14:46:21 gilles Exp gilles $
echo imapsync_docker_timestamp_dockerfile
imapsync_docker_timestamp_dockerfile()
{
DATE_CURRENT=`date +%Y_%m_%d_%H_%M_%S`
echo $DATE_CURRENT
sed -i -e "/just_a_comment_to_force_update/s/comment_to_force_update.*/comment_to_force_update $DATE_CURRENT/" Dockerfile
ci -l -f -m"Changing timestamp to $DATE_CURRENT with imapsync_docker_timestamp_dockerfile" Dockerfile
}
echo imapsync_docker_build
imapsync_docker_build()
{
docker build -t gilleslamiral/imapsync . \
&& imapsync_docker_add_tag_version && echo Build SUCCEEDED || echo Build FAILED
}
echo imapsync_docker_version
imapsync_docker_version()
{
docker run gilleslamiral/imapsync imapsync --version
}
echo imapsync_local_docker_version
imapsync_local_docker_version()
{
docker run gilleslamiral/imapsync /imapsync --version
}
echo imapsync_docker_add_tag_version
imapsync_docker_add_tag_version()
{
docker images gilleslamiral/imapsync
echo
version=`imapsync_docker_version`
echo $version
docker tag gilleslamiral/imapsync:latest gilleslamiral/imapsync:$version
docker images gilleslamiral/imapsync
}
echo imapsync_docker_testslive
imapsync_docker_testslive()
{
echo docker run gilleslamiral/imapsync imapsync --testslive "$@"
docker run gilleslamiral/imapsync imapsync --testslive "$@"
}
echo imapsync_docker_testslive6
imapsync_docker_testslive6()
{
echo docker run gilleslamiral/imapsync imapsync --testslive6 "$@"
docker run gilleslamiral/imapsync imapsync --testslive6 "$@"
}
echo imapsync_docker_tests
imapsync_docker_tests()
{
echo docker run gilleslamiral/imapsync imapsync --tests
docker run gilleslamiral/imapsync imapsync --tests
}
echo imapsync_docker_envfile
imapsync_docker_envfile()
{
docker run --env-file ./secret.txt gilleslamiral/imapsync imapsync \
--host1 test1.lamiral.info --user1 test1 \
--host2 test2.lamiral.info --user2 test2 --justlogin
}
echo docker_delete_all_images
docker_delete_all_images()
{
docker rm `docker ps -a -q`
docker rmi `docker images -q`
}
echo docker_system_prune
docker_system_prune()
{
docker system prune
}
echo docker_delete_dandling_images
docker_delete_dandling_images()
{
docker images
dandling_images=`docker images -f dangling=true -q`
exited_containers=`docker ps -a -f status=exited -q`
test -n "$exited_containers" && docker rm $exited_containers
test -n "$dandling_images" && docker rmi $dandling_images
docker images
}
echo imapsync_docker_rebuild_from_scratch
imapsync_docker_rebuild_from_scratch()
{
delete_all_images
docker images
imapsync_docker_build
}
echo is_release_number
is_release_number()
{
echo "$1" | perl -pe 'm/^\d\.\d+$/ || exit 1'
}
echo imapsync_docker_upload
imapsync_docker_upload()
{
version=`imapsync_docker_version`
version_local=`imapsync_local_docker_version`
# upload only after successful tests
set -x \
&& is_release_number "$version" \
&& is_release_number "$version_local" \
&& test "$version" = "$version_local" \
&& rcsdiff imapsync Dockerfile memo_docker \
&& imapsync_docker_testslive \
&& imapsync_docker_tests \
&& docker run gilleslamiral/imapsync true \
&& docker run gilleslamiral/imapsync diff /imapsync /usr/bin/imapsync \
&& docker login --username=gilleslamiral --password=`cat $HOME/var/pass/secret.docker` \
&& docker push gilleslamiral/imapsync:latest \
&& docker push gilleslamiral/imapsync:$version \
&& set +x && echo imapsync push SUCCEEDED || echo imapsync push FAILED
set +x
}