BASH   77
memo docker
Guest on 12th February 2023 10:31:52 AM


  1. #!/bin/sh
  2.  
  3. echo imapsync_docker_timestamp_dockerfile
  4. imapsync_docker_timestamp_dockerfile() {
  5.         DATE_CURRENT=`date +%Y_%m_%d_%H_%M_%S`
  6.         echo $DATE_CURRENT
  7.         sed -i -e "/just_a_comment_to_force_update/s/comment_to_force_update.*/comment_to_force_update $DATE_CURRENT/" Dockerfile
  8.         ci -l -f -m"Changing timestamp to $DATE_CURRENT with imapsync_docker_timestamp_dockerfile" Dockerfile
  9. }
  10.  
  11. echo imapsync_docker_build
  12. imapsync_docker_build() {
  13.     docker build -t gilleslamiral/imapsync . \
  14.         && imapsync_docker_add_tag_version && echo Build SUCCEEDED || echo Build FAILED
  15.  
  16.     echo
  17.     #docker run gilleslamiral/imapsync imapsync --testslive
  18.     #docker run gilleslamiral/imapsync imapsync --testslive6
  19.     # docker run gilleslamiral/imapsync imapsync --testslive6 --nossl2
  20. }
  21.  
  22. echo imapsync_docker_add_tag_version
  23. imapsync_docker_add_tag_version() {
  24.     docker images gilleslamiral/imapsync
  25.     echo
  26.     version=`docker run gilleslamiral/imapsync imapsync --version`
  27.     echo $version
  28.     docker tag gilleslamiral/imapsync:latest gilleslamiral/imapsync:$version
  29.     docker images gilleslamiral/imapsync
  30. }
  31.  
  32.  
  33.  
  34. echo imapsync_docker_testslive
  35. imapsync_docker_testslive() {
  36.     echo docker run gilleslamiral/imapsync imapsync --testslive
  37.     docker run gilleslamiral/imapsync imapsync --testslive
  38. }
  39.  
  40. echo imapsync_docker_testslive6
  41. imapsync_docker_testslive6() {
  42.     echo docker run gilleslamiral/imapsync imapsync --testslive6 --ssl1 --ssl2
  43.     docker run gilleslamiral/imapsync imapsync --testslive6 --ssl1 --ssl2
  44. }
  45.  
  46. echo imapsync_docker_tests
  47. imapsync_docker_tests() {
  48.     echo docker run gilleslamiral/imapsync imapsync --tests
  49.     docker run gilleslamiral/imapsync imapsync --tests
  50. }
  51.  
  52. echo docker_delete_all_images
  53. docker_delete_all_images() {
  54.     docker rm `docker ps -a -q`
  55.     docker rmi `docker images -q`
  56. }
  57.  
  58. echo docker_system_prune
  59. docker_system_prune()
  60. {
  61.         docker system prune
  62. }
  63.  
  64. echo docker_delete_dandling_images
  65. docker_delete_dandling_images() {
  66.         docker images
  67.         dandling_images=`docker images -f dangling=true -q`
  68.         exited_containers=`docker ps -a -f status=exited -q`
  69.         test -n "$exited_containers" && docker rm $exited_containers
  70.         test -n "$dandling_images"   && docker rmi $dandling_images
  71.         docker images
  72. }
  73.  
  74.  
  75. echo imapsync_docker_rebuild_from_scratch
  76. imapsync_docker_rebuild_from_scratch() {
  77.     delete_all_images
  78.     docker images
  79.     imapsync_docker_build
  80. }
  81.  
  82. echo imapsync_docker_upload
  83. imapsync_docker_upload() {
  84.     # upload only after successful tests
  85.     set -x \
  86.     && imapsync_docker_testslive \
  87.     && imapsync_docker_tests \
  88.     && docker run gilleslamiral/imapsync true \
  89.     && docker login --username=gilleslamiral --password=`cat $HOME/var/pass/secret.docker` \
  90.     && docker push gilleslamiral/imapsync:latest \
  91.     && set +x && echo imapsync push SUCCEEDED || echo imapsync push FAILED
  92.     set +x
  93. }

Raw Paste

Login or Register to edit or fork this paste. It's free.