דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. כתיבת סקריפט לדפלוימנט בבאש

כתיבת סקריפט לדפלוימנט בבאש

מתוזמן נעוץ נעול הועבר תכנות
4 פוסטים 2 כותבים 95 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • nigunN מנותק
    nigunN מנותק
    nigun
    כתב ב נערך לאחרונה על ידי
    #1

    יש לי תיקיה אחת שהיא בשביל השרת DEV
    ועוד תיקיה עם הקבצים של שרת הפרודקשן (להלן app)
    אני כותב את כל הקוד בתיקיה הDEV
    ואחרי שהקימפול עובר בהצלחה (ולפעמים גם טסטים).
    אני שומר לגיט, ומושך את הכל לתיקית app.

    אני רוצה לעשות סקריפט שיעשה את הכל ברצף
    אז אלו הפקודות

    go build
    git add -u .
    git commit -m "commit foo"
    cd ~/app
    git pull
    go build
    pm2 restart app
    

    לכאורה אפשר לכתוב הכל בבאש (או שיש כלים אחרים בשביל זה)
    מה שחסר לי כרגע זה :
    איך לעשות תנאי שהבילד הראשון עבר בהצלחה
    ולדלג על החלון בVIMשנפתח לי לפעמים בgit pull
    (וגם עדיף שאם הpull נכשל משסיבה כל שהיא, שלא ימשיך הלאה)

    מייל: nigun@duck.com

    yossizY nigunN 2 תגובות תגובה אחרונה
    0
    • yossizY מנותק
      yossizY מנותק
      yossiz
      השיב לnigun ב נערך לאחרונה על ידי yossiz
      #2

      @nigun אמר בכתיבת סקריפט לדפלוימנט בבאש:

      איך לעשות תנאי שהבילד הראשון עבר בהצלחה

      (וגם עדיף שאם הpull נכשל משסיבה כל שהיא, שלא ימשיך הלאה)

      כמה דרכים:

      • התוצאה של של הפעולה האחרונה נשמרת במשתנה ‎$?‎‎
      • אפשר גם לשרשר את הפעולות על ידי && ואז הפעולה השנייה מבוצעת רק אם הראשונה הצליחה.
      • אפשר לכתוב set -e בתחילת הסקריפט ואז התהליך יפסיק ברגע שפקודה כלשהו לא מחזירה קוד הצלחה.

      (אגב, תבדוק אם issue זה תוקן...)

      ולדלג על החלון בVIMשנפתח לי לפעמים בgit pull

      מתי/למה זה מופיע? (אני לא משתמש בשורת הפקודה של גיט... 😞 )

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      nigunN תגובה 1 תגובה אחרונה
      3
      • nigunN מנותק
        nigunN מנותק
        nigun
        השיב לnigun ב נערך לאחרונה על ידי nigun
        #3

        @nigun
        נזכרתי שבעצם משתמשים בmake (יותר יעיל כשרוצים רק חלק מהתהליך)
        יצרתי את הקובץ

        all:  test hello
        test:
                go test -v
        hello:
                @echo "Hello World"
        

        וכשאני מפעיל make
        אם הטסט נכשל הוא לא ממשיך לHello World

        עריכה:
        הנה הקובץ המלא

        remotDir = ~/app
        all:  test gitadd gitpull build
        test:
                gotest -v
        gitadd:
                git add -u .
                git commit -m "$m"
        gitpull:
                cd ${remotDir} && git pull --no-edit
        build:
                cd ${remotDir} && go build
        restart:
                pm2 restart app
        logs:
                pm2 logs app
        

        ומפעיל עם
        make m="commit foo"

        מייל: nigun@duck.com

        תגובה 1 תגובה אחרונה
        0
        • nigunN מנותק
          nigunN מנותק
          nigun
          השיב לyossiz ב נערך לאחרונה על ידי
          #4

          @yossiz אמר בכתיבת סקריפט לדפלוימנט בבאש:

          מתי/למה זה מופיע? (אני לא משתמש בשורת הפקודה של גיט... )

          לא יודע
          בהתחלה זה לא היה מופיע לי
          אבל אחרי פעם אחת עשיתי מרג' הוא דורש

          Merge branch 'master' of /root/test
          # Please enter a commit message to explain why this merge is necessary,
          # especially if it merges an updated upstream into a topic branch.
          #
          # Lines starting with '#' will be ignored, and an empty message aborts
          # the commit.
          

          אולי הפתרון הוא git pull --no-edit ?

          מייל: nigun@duck.com

          תגובה 1 תגובה אחרונה
          0

          בא תתחבר לדף היומי!
          • התחברות

          • אין לך חשבון עדיין? הרשמה

          • התחברו או הירשמו כדי לחפש.
          • פוסט ראשון
            פוסט אחרון
          0
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום