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

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

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

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

מתוזמן נעוץ נעול הועבר תכנות
4 פוסטים 2 כותבים 95 צפיות 1 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • 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
    • nigunN nigun

      יש לי תיקיה אחת שהיא בשביל השרת 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 נכשל משסיבה כל שהיא, שלא ימשיך הלאה)

      yossizY מנותק
      yossizY מנותק
      yossiz
      כתב ב נערך לאחרונה על ידי yossiz
      #2

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

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

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

      כמה דרכים:

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

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

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

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

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

      nigunN תגובה 1 תגובה אחרונה
      3
      • nigunN nigun

        יש לי תיקיה אחת שהיא בשביל השרת 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 נכשל משסיבה כל שהיא, שלא ימשיך הלאה)

        nigunN מנותק
        nigunN מנותק
        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
        • yossizY yossiz

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

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

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

          כמה דרכים:

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

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

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

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

          nigunN מנותק
          nigunN מנותק
          nigun
          כתב ב נערך לאחרונה על ידי
          #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
          • דף הבית
          • קטגוריות
          • פוסטים אחרונים
          • משתמשים
          • חיפוש
          • חוקי הפורום