瀏覽代碼

Peg the blog to a particular commit

Bob Mottram 9 年之前
父節點
當前提交
79c26dcffc
共有 1 個檔案被更改,包括 40 行新增13 行删除
  1. 40
    13
      src/freedombone

+ 40
- 13
src/freedombone 查看文件

182
 # Domain name for your blog
182
 # Domain name for your blog
183
 FULLBLOG_DOMAIN_NAME=
183
 FULLBLOG_DOMAIN_NAME=
184
 FULLBLOG_CODE=
184
 FULLBLOG_CODE=
185
+FULLBLOG_REPO="https://github.com/danpros/htmly"
186
+FULLBLOG_COMMIT='5f271a2370cc1bfde15f2a0d5ed6928cc74b0efa'
185
 MY_BLOG_TITLE="My Blog"
187
 MY_BLOG_TITLE="My Blog"
186
 MY_BLOG_SUBTITLE="Another Freedombone Blog"
188
 MY_BLOG_SUBTITLE="Another Freedombone Blog"
187
 
189
 
797
       if grep -q "LETSENCRYPT_SERVER" $CONFIGURATION_FILE; then
799
       if grep -q "LETSENCRYPT_SERVER" $CONFIGURATION_FILE; then
798
           LETSENCRYPT_SERVER=$(grep "LETSENCRYPT_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
800
           LETSENCRYPT_SERVER=$(grep "LETSENCRYPT_SERVER" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
799
       fi
801
       fi
802
+      if grep -q "FULLBLOG_REPO" $CONFIGURATION_FILE; then
803
+          FULLBLOG_REPO=$(grep "FULLBLOG_REPO" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
804
+      fi
805
+      if grep -q "FULLBLOG_COMMIT" $CONFIGURATION_FILE; then
806
+          FULLBLOG_COMMIT=$(grep "FULLBLOG_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
807
+      fi
800
       if grep -q "HUBZILLA_COMMIT" $CONFIGURATION_FILE; then
808
       if grep -q "HUBZILLA_COMMIT" $CONFIGURATION_FILE; then
801
           HUBZILLA_COMMIT=$(grep "HUBZILLA_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
809
           HUBZILLA_COMMIT=$(grep "HUBZILLA_COMMIT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
802
       fi
810
       fi
9697
   if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
9705
   if [[ $SYSTEM_TYPE == "$VARIANT_CLOUD" || $SYSTEM_TYPE == "$VARIANT_MAILBOX" || $SYSTEM_TYPE == "$VARIANT_CHAT" || $SYSTEM_TYPE == "$VARIANT_SOCIAL" || $SYSTEM_TYPE == "$VARIANT_MEDIA" || $SYSTEM_TYPE == "$VARIANT_DEVELOPER" || $SYSTEM_TYPE == "$VARIANT_MESH" ]]; then
9698
       return
9706
       return
9699
   fi
9707
   fi
9700
-  if grep -Fxq "install_blog" $COMPLETION_FILE; then
9701
-      return
9702
-  fi
9703
   if [ ! $FULLBLOG_DOMAIN_NAME ]; then
9708
   if [ ! $FULLBLOG_DOMAIN_NAME ]; then
9704
       echo 'The blog domain name was not specified'
9709
       echo 'The blog domain name was not specified'
9705
       exit 5062
9710
       exit 5062
9706
   fi
9711
   fi
9707
 
9712
 
9713
+  # update to the next commit
9714
+  if [ -d /var/www/$FULLBLOG_DOMAIN_NAME/htdocs ]; then
9715
+      if grep -q "Blog commit" $COMPLETION_FILE; then
9716
+          CURRENT_FULLBLOG_COMMIT=$(grep "Blog commit" $COMPLETION_FILE | awk -F ':' '{print $2}')
9717
+          if [[ "$CURRENT_FULLBLOG_COMMIT" != "$FULLBLOG_COMMIT" ]]; then
9718
+              cd /var/www/$FULLBLOG_DOMAIN_NAME/htdocs
9719
+              git stash
9720
+              git checkout master
9721
+              git pull
9722
+              git checkout $FULLBLOG_COMMIT
9723
+              git branch -b $FULLBLOG_COMMIT
9724
+              sed -i "s/Blog commit.*/Blog commit:$FULLBLOG_COMMIT/g" $COMPLETION_FILE
9725
+              chown -R www-data:www-data /var/www/$FULLBLOG_DOMAIN_NAME/htdocs
9726
+          fi
9727
+      fi
9728
+  fi
9729
+
9730
+  if grep -Fxq "install_blog" $COMPLETION_FILE; then
9731
+      return
9732
+  fi
9733
+
9708
   if [ ! -d /var/www/$FULLBLOG_DOMAIN_NAME ]; then
9734
   if [ ! -d /var/www/$FULLBLOG_DOMAIN_NAME ]; then
9709
       mkdir /var/www/$FULLBLOG_DOMAIN_NAME
9735
       mkdir /var/www/$FULLBLOG_DOMAIN_NAME
9710
   fi
9736
   fi
9711
 
9737
 
9712
   cd /var/www/$FULLBLOG_DOMAIN_NAME
9738
   cd /var/www/$FULLBLOG_DOMAIN_NAME
9713
-  git clone https://github.com/danpros/htmly htdocs
9739
+  git clone $FULLBLOG_REPO htdocs
9740
+  cd htdocs
9741
+  git checkout $FULLBLOG_COMMIT
9742
+  git branch -b $FULLBLOG_COMMIT
9743
+  if ! grep -q "Blog commit" $COMPLETION_FILE; then
9744
+      echo "Blog commit:$FULLBLOG_COMMIT" >> $COMPLETION_FILE
9745
+  else
9746
+      sed -i "s/Blog commit.*/Blog commit:$FULLBLOG_COMMIT/g" $COMPLETION_FILE
9747
+  fi
9748
+  cd /var/www/$FULLBLOG_DOMAIN_NAME
9749
+
9714
   chown -R www-data:www-data /var/www/$FULLBLOG_DOMAIN_NAME/htdocs
9750
   chown -R www-data:www-data /var/www/$FULLBLOG_DOMAIN_NAME/htdocs
9715
 
9751
 
9716
   if [ ! -f /etc/ssl/certs/$FULLBLOG_DOMAIN_NAME.dhparam ]; then
9752
   if [ ! -f /etc/ssl/certs/$FULLBLOG_DOMAIN_NAME.dhparam ]; then
10804
   echo 'apt-get -y update' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10840
   echo 'apt-get -y update' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10805
   echo 'apt-get -y upgrade' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10841
   echo 'apt-get -y upgrade' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10806
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10842
   echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10807
-  echo "if grep -Fxq \"install_blog\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10808
-  echo '  # Blog' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10809
-  echo "  cd /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10810
-  echo '  git stash' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10811
-  echo '  git stash drop' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10812
-  echo '  git pull' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10813
-  echo "  chown -R www-data:www-data /var/www/$FULLBLOG_DOMAIN_NAME/htdocs" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10814
-  echo 'fi' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10815
-  echo '' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10816
   echo "if grep -Fxq \"install_owncloud_music_app\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10843
   echo "if grep -Fxq \"install_owncloud_music_app\" $COMPLETION_FILE; then" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10817
   echo '  # Owncloud music app' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10844
   echo '  # Owncloud music app' >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10818
   echo "  cd /usr/share/owncloud/apps/music" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME
10845
   echo "  cd /usr/share/owncloud/apps/music" >> /etc/cron.weekly/$UPGRADE_SCRIPT_NAME