123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- #!/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
- }
|