שטיצן פֿאַר מאָנאָרעפּאָ און מולטירעפּאָ אין וואָרף און וואָס די דאָקקער רעגיסטרי האט צו טאָן מיט אים

שטיצן פֿאַר מאָנאָרעפּאָ און מולטירעפּאָ אין וואָרף און וואָס די דאָקקער רעגיסטרי האט צו טאָן מיט אים

די טעמע פון ​​אַ מאָנאָרעפּאָסיטאָרי איז דיסקאַסט מער ווי אַמאָל און, ווי אַ הערשן, ז זייער אַקטיוו דעבאַטע. שאפן werf ווי אַן עפֿן מקור געצייַג דיזיינד צו פֿאַרבעסערן דעם פּראָצעס פון בויען אַפּלאַקיישאַן קאָד פון Git אין דאָקקער בילדער (און דערנאָך דעליווערינג זיי צו Kubernetes), מיר טאָן ניט טראַכטן פיל וועגן וואָס ברירה איז בעסטער. פֿאַר אונדז, עס איז ערשטיק צו צושטעלן אַלץ נייטיק פֿאַר סופּפּאָרטערס פון פאַרשידענע מיינונגען (אויב דאָס טוט נישט סויסער די סייכל, פון קורס).

די לעצטנס באַקענענ מאָנאָ-רעפּאָ שטיצן אין ווערף איז אַ גוט בייַשפּיל פון דעם. אָבער ערשטער, לאָזן אונדז רעכענען אויס ווי די שטיצן איז בכלל שייַכות צו די נוצן פון werf און וואָס Docker Registry האט צו טאָן מיט אים ...

פּראָבלעמס

זאל ס ימאַדזשאַן דעם סיטואַציע. די פירמע האט פילע אַנטוויקלונג טימז ארבעטן אויף פרייַ פּראַדזשעקס. רובֿ אַפּלאַקיישאַנז אַרבעטן אין Kubernetes און, אַקאָרדינגלי, זענען קאַנטיינערז. צו קראָם קאַנטיינערז און בילדער, אַ רעגיסטרי איז פארלאנגט. די פירמע ניצט Docker Hub מיט אַ איין חשבון ווי אַזאַ אַ רעגיסטרי. COMPANY. ענלעך צו רובֿ מקור קאָד סטאָרידזש סיסטעמען, Docker Hub קען נישט לאָזן איר צו שאַפֿן אַ נעסטעד כייעראַרקי פון ריפּאַזאַטאָריז, אזוי ווי COMPANY/PROJECT/IMAGE. אין דעם פאַל ... ווי קענען מיר קראָם ניט-מאָנאָליטהיק אַפּלאַקיישאַנז אין די רעגיסטרי מיט דעם באַגרענעצונג אָן קריייטינג אַ באַזונדער חשבון פֿאַר יעדער פּרויעקט?

שטיצן פֿאַר מאָנאָרעפּאָ און מולטירעפּאָ אין וואָרף און וואָס די דאָקקער רעגיסטרי האט צו טאָן מיט אים

טאָמער די דיסקרייבד סיטואַציע איז באַקאַנט צו עמעצער ערשטער-האַנט, אָבער לאָזן ס קוק אין די אַרויסגעבן פון אָרגאַנייזינג אַפּלאַקיישאַן סטאָרידזש אין אַלגעמיין, ד.ה. אָן דערמאָנען צו די אויבן בייַשפּיל און Docker Hub.

סאַלושאַנז

אויב די אַפּלאַקיישאַן מאַנאַליטיק, קומט אין איין בילד, דעמאָלט קיין פראגעס שטייען און מיר פשוט ראַטעווען די בילדער צו די פּרויעקט ס קאַנטיינער רעגיסטרי.

ווען אַ אַפּלאַקיישאַן איז דערלאנגט ווי קייפל קאַמפּאָונאַנץ, מיקראָ סערוויסעס, דעמאָלט איר דאַרפֿן צו קלייַבן אַ זיכער צוגאַנג. ניצן דעם בייַשפּיל פון אַ טיפּיש וועב אַפּלאַקיישאַן קאַנסיסטינג פון צוויי בילדער: frontend и backend - די מעגלעך אָפּציעס זענען:

  1. סטאָר בילדער אין באַזונדער נעסטעד ריפּאַזאַטאָריז:

    שטיצן פֿאַר מאָנאָרעפּאָ און מולטירעפּאָ אין וואָרף און וואָס די דאָקקער רעגיסטרי האט צו טאָן מיט אים

  2. סטאָר אַלץ אין איין ריפּאַזאַטאָרי, און אַרייַננעמען די בילד נאָמען אין די קוויטל, למשל, ווי גייט:

    שטיצן פֿאַר מאָנאָרעפּאָ און מולטירעפּאָ אין וואָרף און וואָס די דאָקקער רעגיסטרי האט צו טאָן מיט אים

NB: אַקטואַללי, עס איז אן אנדער אָפּציע מיט שפּאָרן אין פאַרשידן ריפּאַזאַטאָריז, PROJECT-frontend и PROJECT-backend, אָבער מיר וועלן נישט באַטראַכטן עס רעכט צו דער קאַמפּלעקסיטי פון שטיצן, אָרגאַניזאַציע און פאַרשפּרייטונג פון רעכט צווישן ניצערס.

וואָרף שטיצן

טכילעס, וואָרף איז געווען לימיטעד צו נעסטעד ריפּאַזאַטאָריז - גליק, רובֿ רעדזשיסטריז שטיצן דעם שטריך. זינט ווערסיע v1.0.4-אַלפאַ.3, צוגעלייגט אַרבעט מיט רעגיסטריז אין וואָס נעסטינג איז נישט געשטיצט, און Docker Hub איז איינער פון זיי. פֿון דעם מאָמענט אויף, דער באַניצער האט אַ ברירה פון ווי צו קראָם אַפּלאַקיישאַן בילדער.

ימפּלאַמענטיישאַן בנימצא ווי אַ טייל פון די אָפּציע --images-repo-mode=multirepo|monorepo (פעליקייַט multirepo, ד.ה. סטאָרידזש אין נעסטעד ריפּאַזאַטאָריז). עס דיפיינז די פּאַטערנז דורך וואָס בילדער זענען סטאָרד אין די רעגיסטרי. עס איז גענוג צו סעלעקטירן דעם געוואלט מאָדע ווען איר נוצן די יקערדיק קאַמאַנדז, און אַלץ אַנדערש וועט בלייַבן אַנטשיינדזשד.

זינט רובֿ ווערף אָפּציעס קענען זיין שטעלן סוויווע וועריאַבאַלז, אין סי / סי סיסטעמען, די סטאָרידזש מאָדע איז יוזשאַוואַלי גרינג צו שטעלן גלאָובאַלי פֿאַר די גאנצע פּרויעקט. למשל, אין די פאַל פון GitLab נאָר לייגן אַ סוויווע בייַטעוודיק אין די פּרויעקט סעטטינגס: סעטטינגס -> סי / סי -> וועריאַבאַלז: WERF_IMAGES_REPO_MODE: multirepo|monorepo.

אויב מיר רעדן וועגן ארויסגעבן בילדער און ראָולינג אַפּלאַקיישאַנז (איר קענען לייענען וועגן די פּראַסעסאַז אין דעטאַל אין די באַטייַטיק דאַקיומענטיישאַן אַרטיקלען: אַרויסגעבן פּראָצעס и צעוויקלען פּראָצעס), דעמאָלט דער מאָדע בלויז דיטערמאַנז די מוסטער דורך וואָס איר קענען אַרבעטן מיט די בילד.

דער שטן איז אין די פרטים

דער חילוק און הויפּט שוועריקייט ווען אַדינג אַ נייַע סטאָרידזש אופֿן איז אין דעם פּראָצעס פון רייניקונג די רעגיסטרי (רייניקונג פֿעיִקייטן געשטיצט אין וואָרף, זען רייניקונג פּראָצעס).

ווען רייניקונג, וואָרף נעמט אין חשבון די בילדער געניצט אין Kubernetes קלאַסטערז, ווי געזונט ווי באַניצער-קאַנפיגיערד פּאַלאַסיז. פּאַלאַסיז זענען באזירט אויף דיוויידינג טאַגס אין סטראַטעגיעס. איצט געשטיצט סטראַטעגיעס:

  1. 3 סטראַטעגיעס שייַכות צו גיט פּרימיטיווז אַזאַ ווי קוויטל, צווייַג און יבערגעבן;
  2. 1 סטראַטעגיע פֿאַר מנהג מנהג טאַגס.

מיר ראַטעווען אינפֿאָרמאַציע וועגן די קוויטל סטראַטעגיע ווען ארויסגעבן די בילד אין די לאַבעלס פון די לעצט בילד. דער טייַטש זיך איז די אַזוי גערופענע מעטאַ טאַג - נייטיק פֿאַר אַפּלייינג עטלעכע פּאַלאַסיז. פֿאַר בייַשפּיל, ווען דיליטינג אַ צווייַג אָדער קוויטל פון אַ Git ריפּאַזאַטאָרי, עס איז לאַדזשיקאַל צו ויסמעקן פֿאַרבונדן אַניוזד בילדער פון די רעגיסטרי, וואָס איז באדעקט דורך טייל פון אונדזער פּאַלאַסיז.

ווען שפּאָרן אין איין ריפּאַזאַטאָרי (monorepo), אין די בילד קוויטל, אין אַדישאַן צו די מעטאַ קוויטל, די נאָמען פון די בילד קענען אויך זיין סטאָרד: PROJECT:frontend-META-TAG. צו צעטיילן זיי, מיר האָבן נישט אַרייַנפיר קיין ספּעציפיש סעפּאַראַטאָר, אָבער נאָר צוגעלייגט די נייטיק ווערט צו די פירמע פון ​​די לעצט בילד ווען ארויסגעבן.

NB: אויב איר זענט אינטערעסירט צו קוקן אין אַלץ דיסקרייבד אין די וואָרף מקור קאָד, דער סטאַרטינג פונט קען זיין פּר קסנומקס.

אין דעם אַרטיקל, מיר וועלן נישט צאָלן מער ופמערקזאַמקייט צו די פּראָבלעמס און טערעץ פון אונדזער צוגאַנג: וועגן טאַגינג סטראַטעגיעס, דאַטן סטאָרידזש אין לאַבעלס און ארויסגעבן פּראָצעס אין אַלגעמיין - אַלע דעם איז דיסקרייבד אין דעטאַל אין די לעצטע באַריכט פון דמיטרי סטאָליאַראָוו: "werf איז אונדזער געצייַג פֿאַר סי / סי אין קובערנעטעס'.

צו סאַמערייז

די פעלן פון שטיצן פֿאַר רעגיסטריז אָן נעסטינג איז נישט אַ בלאַקינג פאַקטאָר פֿאַר אונדז אָדער ווערף יוזערז באקאנט צו אונדז - נאָך אַלע, איר קענען שטענדיק כאַפּן אַ באַזונדער רעגיסטרי פון בילדער (אָדער באַשטימען צו די קאַנדישאַנאַל קאַנטיינער רעגיסטרי אין Google קלאָוד) ... אָבער , רימוווינג אַזאַ אַ ריסטריקשאַן סימד לאַדזשיקאַל אין סדר צו מאַכן די געצייַג מער באַקוועם פֿאַר די ברייט DevOps קהל. בשעת ימפּלאַמענינג עס, מיר געפּלאָנטערט די הויפּט שוועריקייט אין ריווערקינג די קאַנטיינער רעגיסטרי רייניקונג מעקאַניזאַם. איצט אַז אַלץ איז גרייט, עס איז אָנגענעם צו וויסן אַז עס איז געווארן גרינגער פֿאַר עמעצער, און מיר (ווי די הויפּט דעוועלאָפּערס פון די פּרויעקט) טאָן ניט פאָרויסזאָגן קיין באמערקט שוועריקייטן אין ווייַטער שטיצן דעם שטריך.

בלייבן מיט אונדז און באַלד מיר וועלן דערציילן איר וועגן אנדערע ינאָווויישאַנז אין werf!

פּס

לייענען אויך אויף אונדזער בלאָג:

מקור: www.habr.com

קויפן פאַרלאָזלעך האָסטינג פֿאַר זייטלעך מיט DDoS שוץ, VPS VDS סערווערס 🔥 קויפט פאַרלעסלעכע וועבזייטל האָסטינג מיט DDoS שוץ, VPS VDS סערווערס | ProHoster