Continuous delivery
સતત વિતરણ (સી. ડી.) એ એક સોફ્ટવેર ઇજનેરી અભિગમ છે જેમાં ટીમો ટૂંકા ચક્રમાં સોફ્ટવેરનું ઉત્પાદન કરે છે, જે સુનિશ્ચિત કરે છે કે સોફ્ટવેરને કોઈપણ સમયે વિશ્વસનીય રીતે રજૂ કરી શકાય છે અને મેન્યુઅલી આમ કર્યા વિના "ઉત્પાદન જેવા વાતાવરણ" દ્વારા પાઇપલાઇનને અનુસરી શકાય છે. તેનો ઉદ્દેશ વધુ ઝડપ અને આવર્તન સાથે સોફ્ટવેરનું નિર્માણ, પરીક્ષણ અને પ્રકાશન કરવાનો છે. આ અભિગમ ઉત્પાદનમાં કાર્યક્રમો માટે વધુ વૃદ્ધિશીલ સુધારાઓને મંજૂરી આપીને ખર્ચ, સમય અને ફેરફારો પહોંચાડવાના જોખમને ઘટાડવામાં મદદ કરે છે. સતત વિતરણ માટે સીધી અને પુનરાવર્તિત જમાવટ પ્રક્રિયા મહત્વપૂર્ણ છે. સિદ્ધાંતો સતત વિતરણ જમાવટ પાઇપલાઇનની સામાન્ય કલ્પનાને નબળા પોકા-યોક તરીકે માને છેઃ માન્યતાઓનો સમૂહ જેના દ્વારા સોફ્ટવેરનો ટુકડો તેના પ્રકાશનના માર્ગ પર પસાર થવો આવશ્યક છે. જો જરૂરી હોય તો કોડ સંકલિત કરવામાં આવે છે અને પછી જ્યારે પણ કોઈ ફેરફાર સ્રોત નિયંત્રણ ભંડાર માટે પ્રતિબદ્ધ હોય ત્યારે બિલ્ડ સર્વર દ્વારા પેક કરવામાં આવે છે, પછી તેને રીલેઝેબલ તરીકે ચિહ્નિત કરી શકાય તે પહેલાં સંખ્યાબંધ વિવિધ તકનીકો (સંભવતઃ મેન્યુઅલ પરીક્ષણ સહિત) દ્વારા પરીક્ષણ કરવામાં આવે છે. લાંબા ચક્ર સમય માટે ટેવાયેલા વિકાસકર્તાઓને સીડી વાતાવરણમાં કામ કરતી વખતે તેમની માનસિકતા બદલવાની જરૂર પડી શકે છે. તે સમજવું અગત્યનું છે કે કોઈપણ કોડ કમિટ કોઈપણ સમયે ગ્રાહકોને જાહેર કરી શકાય છે. ફીચર ટોગલ્સ જેવા દાખલાઓ કોડને વહેલા કરવા માટે ખૂબ જ ઉપયોગી થઈ શકે છે જે હજુ સુધી અંતિમ વપરાશકર્તાઓ દ્વારા ઉપયોગ માટે તૈયાર નથી. એન. ઓ. એસ. ક્યુ. એલ. નો ઉપયોગ ડેટા સ્થળાંતર અને યોજના ફેરફારોના પગલાને દૂર કરી શકે છે, ઘણીવાર મેન્યુઅલ પગલાં અથવા સતત વિતરણ કાર્યપ્રવાહના અપવાદો. અલગ રીતે કોડ વિકસાવવા માટેની અન્ય ઉપયોગી તકનીકો જેમ કે કોડ શાખાઓ સીડી વિશ્વમાં અપ્રચલિત નથી, પરંતુ સીડીના સિદ્ધાંતોને અનુરૂપ સ્વીકારવી આવશ્યક છે-ઉદાહરણ તરીકે, બહુવિધ લાંબા સમય સુધી ચાલતી કોડ શાખાઓ ચલાવવી અવ્યવહારુ સાબિત થઈ શકે છે, કારણ કે જો તેને પાઇપલાઇનના તમામ તબક્કાઓમાંથી પસાર થવું હોય તો એક જ કોડ શાખાથી સીડી પ્રક્રિયાની શરૂઆતમાં રજૂ કરી શકાય તેવી કલાકૃતિ બનાવવી આવશ્યક છે. ડિપ્લોયમેન્ટ પાઇપલાઇન દ્વારા સતત વિતરણ સક્ષમ કરવામાં આવે છે. જમાવટ પાઇપલાઇનનો હેતુ ત્રણ ઘટકો ધરાવે છેઃ દૃશ્યતા, પ્રતિસાદ અને સતત જમાવટ. દૃશ્યતા-સહયોગને પ્રોત્સાહન આપવા માટે ટીમના દરેક સભ્યને નિર્માણ, જમાવટ, પરીક્ષણ અને મુક્ત કરવા સહિત વિતરણ પ્રણાલીના તમામ પાસાઓ દૃશ્યમાન છે. પ્રતિસાદ-ટીમના સભ્યો જ્યારે સમસ્યાઓ થાય ત્યારે શક્ય તેટલી વહેલી તકે શીખે છે જેથી તેઓ શક્ય તેટલી વહેલી તકે તેને ઠીક કરી શકે. સતત જમાવટ-સંપૂર્ણ સ્વચાલિત પ્રક્રિયા દ્વારા, તમે સોફ્ટવેરના કોઈપણ સંસ્કરણને કોઈપણ વાતાવરણમાં જમાવી અને પ્રકાશિત કરી શકો છો. સાધનો/સાધનોના પ્રકારો સતત વિતરણ ઉત્પાદન દ્વારા સ્રોત નિયંત્રણમાંથી ઓટોમેશન લે છે. વિવિધ સાધનો છે જે આ પ્રક્રિયાના તમામ અથવા અમુક ભાગને પૂર્ણ કરવામાં મદદ કરે છે. આ સાધનો જમાવટ પાઇપલાઇનનો એક ભાગ છે જેમાં સતત વિતરણનો સમાવેશ થાય છે. પ્રક્રિયાના વિવિધ ભાગોને અમલમાં મૂકતા સાધનોના પ્રકારોમાં નીચેનાનો સમાવેશ થાય છેઃ સતત એકીકરણ, એપ્લિકેશન રીલીઝ ઓટોમેશન, બિલ્ડ ઓટોમેશન, એપ્લિકેશન જીવનચક્ર વ્યવસ્થાપન. સતત વિતરણ માટે આર્કિટેક્ચર અસરકારક રીતે પ્રેક્ટિસ કરવા માટે, સોફ્ટવેર એપ્લિકેશનોએ ડિપ્લોયાબિલિટી, મોડિફાયેબિલિટી અને ટેસ્ટેબિલિટી જેવી આર્કિટેક્ચરલ રીતે નોંધપાત્ર આવશ્યકતાઓ (એ. એસ. આર.) ના સમૂહને પૂર્ણ કરવો પડે છે. આ એ. એસ. આર. ને ઉચ્ચ અગ્રતાની જરૂર હોય છે અને તેનો હળવાશથી વેપાર કરી શકાતો નથી. માઇક્રો સર્વિસીસનો ઉપયોગ ઘણીવાર સતત ડિલિવરી માટે આર્કિટેક્ચર કરતી વખતે થાય છે. માઇક્રોસર્વિસીસનો ઉપયોગ સોફ્ટવેર સિસ્ટમની જમાવટ અને પરિવર્તનશીલતામાં વધારો કરી શકે છે. અવલોકન કરાયેલ જમાવટક્ષમતા સુધારાઓમાં નીચેનાનો સમાવેશ થાય છેઃ જમાવટની સ્વતંત્રતા, ટૂંકા જમાવટનો સમય, સરળ જમાવટ પ્રક્રિયાઓ અને શૂન્ય ડાઉનટાઇમ જમાવટ. અવલોકન કરાયેલા પરિવર્તનશીલતાના સુધારાઓમાં નીચેનાનો સમાવેશ થાય છેઃ નાના વૃદ્ધિશીલ કાર્યાત્મક ફેરફારો માટે ટૂંકા ચક્ર સમય, સરળ તકનીકી પસંદગી ફેરફારો, વૃદ્ધિશીલ ગુણવત્તાના લક્ષણ ફેરફારો અને સરળ ભાષા અને પુસ્તકાલય સુધારાઓ. અમલીકરણ અને ઉપયોગ જેઝ હમ્બલ અને ડેવિડ ફર્લી (2010) દ્વારા લખાયેલ મૂળ સીડી પુસ્તકએ આ શબ્દને લોકપ્રિય બનાવ્યો; જો કે, તેની રચના પછીથી વ્યાખ્યા આગળ વધતી રહી છે અને હવે તેનો વધુ વિકસિત અર્થ છે. કંપનીઓ આજે આ સતત વિતરણ સિદ્ધાંતો અને શ્રેષ્ઠ પ્રથાઓનો અમલ કરી રહી છે. ડોમેન્સમાં તફાવત, દા. ત. તબીબી વિ. વેબ, હજુ પણ નોંધપાત્ર છે અને અમલીકરણ અને ઉપયોગને અસર કરે છે. આ અભિગમ ધરાવતી જાણીતી કંપનીઓમાં યાહૂ!, એમેઝોન, ફેસબુક, ગૂગલ, પૅડી પાવર અને વેલ્સ ફાર્ગોનો સમાવેશ થાય છે. લાભો અને અવરોધો સતત ડિલિવરીના ઘણા ફાયદાઓની જાણ કરવામાં આવી છે. બજાર માટે ઝડપી સમયઃ સતત વિતરણ સંસ્થાને ગ્રાહકોને નવા સોફ્ટવેર પ્રકાશનોમાં સહજ વ્યવસાયિક મૂલ્ય વધુ ઝડપથી પહોંચાડવા દે છે. આ ક્ષમતા કંપનીને સ્પર્ધા કરતાં એક પગલું આગળ રહેવામાં મદદ કરે છે. યોગ્ય ઉત્પાદનનું નિર્માણઃ વારંવાર પ્રકાશન એપ્લિકેશન વિકાસ ટીમોને વધુ ઝડપથી વપરાશકર્તા પ્રતિસાદ મેળવવા દે છે. આ તેમને માત્ર ઉપયોગી સુવિધાઓ પર કામ કરવા દે છે. જો તેમને લાગે કે કોઈ સુવિધા ઉપયોગી નથી, તો તેઓ તેના પર આગળ કોઈ પ્રયાસ કરતા નથી. આ તેમને યોગ્ય ઉત્પાદન બનાવવામાં મદદ કરે છે. ઉત્પાદકતા અને કાર્યક્ષમતામાં સુધારઃ વિકાસકર્તાઓ, પરીક્ષકો, કામગીરી ઇજનેરો વગેરે માટે નોંધપાત્ર સમયની બચત. ઓટોમેશન દ્વારા. વિશ્વસનીય પ્રકાશનઃ પ્રકાશન સાથે સંકળાયેલા જોખમોમાં નોંધપાત્ર ઘટાડો થયો છે, અને પ્રકાશન પ્રક્રિયા વધુ વિશ્વસનીય બની છે. સતત વિતરણ સાથે, ઉત્પાદનમાં જમાવટ પહેલાં જમાવટ પ્રક્રિયા અને સ્ક્રિપ્ટનું વારંવાર પરીક્ષણ કરવામાં આવે છે. તેથી, જમાવટ પ્રક્રિયા અને સ્ક્રિપ્ટ્સમાં મોટાભાગની ભૂલો પહેલેથી જ શોધી કાઢવામાં આવી છે. વધુ વારંવાર પ્રકાશન સાથે, દરેક પ્રકાશનમાં કોડ ફેરફારોની સંખ્યામાં ઘટાડો થાય છે. આનાથી જે પણ સમસ્યાઓ થાય છે તેને શોધવી અને તેને ઠીક કરવી સરળ બને છે, જેનાથી તેની અસરનો સમય ઘટે છે. ઉત્પાદનની ગુણવત્તામાં સુધારોઃ ખુલ્લી ભૂલો અને ઉત્પાદનની ઘટનાઓની સંખ્યામાં નોંધપાત્ર ઘટાડો થયો છે. ગ્રાહક સંતોષમાં સુધારોઃ ગ્રાહક સંતોષનું ઉચ્ચ સ્તર પ્રાપ્ત થાય છે. અવરોધોની પણ તપાસ કરવામાં આવી છે. ગ્રાહક પસંદગીઓઃ કેટલાક ગ્રાહકો તેમની સિસ્ટમમાં સતત સુધારાઓ ઇચ્છતા નથી. આ ખાસ કરીને તેમની કામગીરીના નિર્ણાયક તબક્કે સાચું છે. ડોમેન પ્રતિબંધોઃ ટેલિકોમ અને તબીબી જેવા કેટલાક ક્ષેત્રોમાં, નવા સંસ્કરણોને કામગીરીના તબક્કામાં પ્રવેશવાની મંજૂરી આપવામાં આવે તે પહેલાં નિયમોને વ્યાપક પરીક્ષણની જરૂર પડે છે. ટેસ્ટ ઓટોમેશનનો અભાવઃ ટેસ્ટ ઓટોમેશનનો અભાવ વિકાસકર્તાના આત્મવિશ્વાસના અભાવ તરફ દોરી જાય છે અને સતત વિતરણનો ઉપયોગ અટકાવી શકે છે. વાતાવરણમાં તફાવતોઃ વિકાસ, પરીક્ષણ અને ઉત્પાદનમાં ઉપયોગમાં લેવાતા વિવિધ વાતાવરણના પરિણામે ઉત્પાદનના વાતાવરણમાં અદ્રશ્ય સમસ્યાઓ સરકી શકે છે. માનવ ઓરેકલની જરૂર હોય તેવા પરીક્ષણોઃ તમામ ગુણવત્તાના લક્ષણો ઓટોમેશન દ્વારા ચકાસી શકાતા નથી. આ લક્ષણો માટે લૂપમાં મનુષ્યની જરૂર પડે છે, જે ડિલિવરી પાઇપલાઇનને ધીમું કરે છે. દત્તક લેવાના વધુ આઠ પડકારો ચેન દ્વારા ઉઠાવવામાં આવ્યા હતા અને વિસ્તૃત રીતે વર્ણવવામાં આવ્યા હતા. આ પડકારો સંગઠનાત્મક માળખું, પ્રક્રિયાઓ, સાધનો, માળખાગત સુવિધાઓ, વારસો પ્રણાલીઓ, સતત વિતરણ માટે રચના, બિન-કાર્યાત્મક આવશ્યકતાઓનું સતત પરીક્ષણ અને પરીક્ષણ અમલીકરણ ઓપ્ટિમાઇઝેશનના ક્ષેત્રોમાં છે. દત્તક લેવાના પડકારોને દૂર કરવા માટેની વ્યૂહરચનાઓ સતત વિતરણ અપનાવવાના પડકારોને દૂર કરવા માટે કેટલીક વ્યૂહરચનાઓ નોંધવામાં આવી છે. દેવઓપ્સ સાથેનો સંબંધ એ સોફ્ટવેર એન્જિનિયરિંગ અભિગમ છે જે સાંસ્કૃતિક પરિવર્તનની આસપાસ કેન્દ્રિત છે, ખાસ કરીને સોફ્ટવેર વિતરણ (વિકાસકર્તાઓ, કામગીરીઓ, ગુણવત્તાની ખાતરી, વ્યવસ્થાપન, વગેરે) માં સામેલ વિવિધ ટીમોનું સહયોગ. ), તેમજ સોફ્ટવેર વિતરણમાં પ્રક્રિયાઓને સ્વચાલિત કરવી. સતત જમાવટ સાથેનો સંબંધ સતત જમાવટ એ સોફ્ટવેર ઇજનેરી અભિગમ છે જે સ્વચાલિત સોફ્ટવેર જમાવટનો ઉપયોગ કરે છે. તેમાં, સોફ્ટવેર ટૂંકા ચક્રમાં ઉત્પન્ન થાય છે પરંતુ તે છેલ્લા પગલા માટે "બટનની ક્લિક" ની જરૂર પડવાને બદલે ઉત્પાદન માટે પણ સ્વચાલિત સોફ્ટવેર જમાવટ દ્વારા. તેથી, સતત જમાવટને ઓટોમેશનનું વધુ વ્યવહારદક્ષ સ્વરૂપ ગણી શકાય. શૈક્ષણિક સાહિત્ય જમાવટ પદ્ધતિ અનુસાર સતત વિતરણ અને સતત જમાવટ વચ્ચે તફાવત કરે છે; મેન્યુઅલ વિ. સ્વચાલિત. એપ્લિકેશન જીવનચક્ર વ્યવસ્થાપન એપ્લિકેશન રીલીઝ ઓટોમેશન બિલ્ડ મેનેજમેન્ટ ચેન્જ મેનેજમેન્ટ CI/CD સતત રૂપરેખાંકન ઓટોમેશન સતત વિતરણ પદ્ધતિઓ સતત સંકલન સતત પરીક્ષણ દેવઓપ્સ રીલીઝ મેનેજમેન્ટ સોફ્ટવેર રૂપરેખાંકન વ્યવસ્થાપન સંસ્કરણ વિનઓપ્સ વધુ વાંચન સંદર્ભો સોફ્ટવેર રીલીઝ સોફ્ટવેર ડિઝાઇન સોફ્ટવેર વિકાસ પ્રક્રિયા