mirror of
https://github.com/imapsync/imapsync.git
synced 2024-11-17 00:02:29 +01:00
139 lines
3.7 KiB
Bash
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
|
|
}
|
|
|
|
|