ਗਾਈਡਾਂ

CI/CD ਕੀ ਹੈ? ਕੰਟੀਨਿਊਅਸ ਇੰਟੀਗ੍ਰੇਸ਼ਨ ਅਤੇ ਡਿਲੀਵਰੀ ਸਰਲ ਭਾਸ਼ਾ ਵਿੱਚ

CI/CD ਸਾਫ਼ਟਵੇਅਰ ਭੇਜਣ ਦਾ ਇੱਕ ਤਰੀਕਾ ਹੈ ਜਿਸ ਵਿੱਚ ਹਰ ਕੋਡ ਬਦਲਾਅ ਆਪਣੇ ਆਪ ਬਣਾਇਆ, ਟੈਸਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਅਤੇ, ਜੇ ਪਾਸ ਹੋਵੇ, ਰਿਲੀਜ਼ ਲਈ ਤਿਆਰ ਜਾਂ ਜਾਰੀ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। CI (ਕੰਟੀਨਿਊਅਸ ਇੰਟੀਗ੍ਰੇਸ਼ਨ) ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਬਦਲਾਅ ਅਕਸਰ ਮਿਲਾਏ ਜਾਂਦੇ ਹਨ ਅਤੇ ਹਰ ਵਾਰ ਆਟੋਮੈਟਿਕ ਟੈਸਟਾਂ ਨਾਲ ਜਾਂਚੇ ਜਾਂਦੇ ਹਨ। CD (ਕੰਟੀਨਿਊਅਸ ਡਿਲੀਵਰੀ ਜਾਂ ਡਿਪਲੌਇਮੈਂਟ) ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਜੋ ਬਦਲਾਅ ਪਾਸ ਹੁੰਦੇ ਹਨ ਉਹ ਪੈਕ ਹੋ ਕੇ ਉਪਭੋਗਤਾਵਾਂ ਵੱਲ ਘੱਟ ਜਾਂ ਬਿਨਾਂ ਹੱਥੀਂ ਕੰਮ ਦੇ ਭੇਜੇ ਜਾਂਦੇ ਹਨ।

ਗੱਲ ਸਾਦੀ ਹੈ: ਗ਼ਲਤੀਆਂ ਮਿੰਟਾਂ ਵਿੱਚ ਫੜੋ, ਹਫ਼ਤਿਆਂ ਬਾਅਦ ਨਹੀਂ ਜਦੋਂ ਕੋਈ ਗਾਹਕ ਉਹਨਾਂ ਨੂੰ ਲੱਭੇ।

AI ਨਾਲ ਐਪ ਬਣਾਉਂਦੇ ਸਮੇਂ CI/CD ਕਿਉਂ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ

AI ਬਿਲਡਰ ਕੋਡ ਬਦਲਾਅ ਤੇਜ਼ੀ ਨਾਲ ਕਰਦੇ ਹਨ। ਇੱਕ ਪ੍ਰੋਮਪਟ ਦਸ ਫ਼ਾਈਲਾਂ ਛੂਹ ਸਕਦਾ ਹੈ। ਇਹ ਰਫ਼ਤਾਰ ਉਦੋਂ ਤੱਕ ਵਧੀਆ ਹੈ ਜਦੋਂ ਤੱਕ ਚੈੱਕਆਉਟ ਪੰਨੇ ਵਿੱਚ ਕੀਤਾ ਬਦਲਾਅ ਚੁੱਪਚਾਪ ਲੌਗਇਨ ਪੰਨਾ ਤੋੜ ਨਾ ਦੇਵੇ ਅਤੇ ਕਿਸੇ ਉਪਭੋਗਤਾ ਦੀ ਈਮੇਲ ਆਉਣ ਤੱਕ ਕਿਸੇ ਨੂੰ ਪਤਾ ਨਾ ਲੱਗੇ।

CI/CD ਇਸੇ ਲਈ ਸੁਰੱਖਿਆ ਜਾਲ ਹੈ। ਹਰ ਬਦਲਾਅ ਉੱਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਥਾਂ, ਇੱਕ ਪਾਈਪਲਾਈਨ ਹਰ ਵਾਰ ਇੱਕੋ ਜਾਂਚਾਂ ਚਲਾਉਂਦੀ ਹੈ:

  • ਕੀ ਐਪ ਅਜੇ ਵੀ ਬਿਨਾਂ ਗ਼ਲਤੀ ਦੇ ਬਣਦੀ ਹੈ?
  • ਕੀ ਆਟੋਮੈਟਿਕ ਟੈਸਟ ਅਜੇ ਵੀ ਪਾਸ ਹੁੰਦੇ ਹਨ?
  • ਕੀ ਕੋਡ ਪ੍ਰੋਜੈਕਟ ਦੇ ਨਿਯਮ ਮੰਨਦਾ ਹੈ (ਕਿਸਮਾਂ, ਫਾਰਮੈਟਿੰਗ, ਸੁਰੱਖਿਆ ਜਾਂਚਾਂ)?

ਜੇ ਕੋਈ ਜਾਂਚ ਫ਼ੇਲ੍ਹ ਹੋਵੇ, ਤਾਂ ਬਦਲਾਅ ਉਪਭੋਗਤਾਵਾਂ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਰੋਕ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਤੁਹਾਡਾ ਕੋਡ ਜਿੰਨੀ ਤੇਜ਼ੀ ਨਾਲ ਬਦਲਦਾ ਹੈ, ਇੱਕ ਅਜਿਹੀ ਜਾਂਚ ਓਨੀ ਹੀ ਕੀਮਤੀ ਹੁੰਦੀ ਹੈ ਜੋ ਥੱਕਦੀ ਨਹੀਂ ਅਤੇ ਕਦਮ ਨਹੀਂ ਛੱਡਦੀ।

ਰੋਜ਼ਾਨਾ ਜੀਵਨ ਦੀ ਮਿਸਾਲ

ਇੱਕ ਬੇਕਰੀ ਬਾਰੇ ਸੋਚੋ ਜੋ ਹਰ ਸਵੇਰ ਦੁਕਾਨਾਂ ਨੂੰ ਰੋਟੀ ਭੇਜਦੀ ਹੈ।

  • CI/CD ਤੋਂ ਬਿਨਾਂ, ਹਰ ਬੇਕਰ ਇੱਕ ਹਫ਼ਤਾ ਆਪਣੀ ਵਿਧੀ ਵਿੱਚ ਆਪਣੇ ਆਪ ਬਦਲਾਅ ਕਰਦਾ ਹੈ, ਫਿਰ ਸ਼ੁੱਕਰਵਾਰ ਰਾਤ ਸਭ ਇਕੱਠੇ ਕਰਦੇ ਹਨ ਅਤੇ ਉਮੀਦ ਕਰਦੇ ਹਨ ਕਿ ਰੋਟੀ ਅਜੇ ਵੀ ਫੁੱਲੇਗੀ। ਜਦੋਂ ਨਹੀਂ ਫੁੱਲਦੀ, ਕਿਸੇ ਨੂੰ ਪਤਾ ਨਹੀਂ ਕਿ ਕਿਸਦੇ ਬਦਲਾਅ ਨੇ ਇਹ ਕੀਤਾ।
  • CI ਨਾਲ, ਹਰ ਛੋਟਾ ਵਿਧੀ ਬਦਲਾਅ ਤੁਰੰਤ ਇੱਕ ਟੈਸਟ ਰੋਟੀ ਵਿੱਚ ਬਣਾਇਆ ਅਤੇ ਜਾਂਚਿਆ ਜਾਂਦਾ ਹੈ: ਸੁਆਦ, ਵਜ਼ਨ, ਆਕਾਰ। ਗ਼ਲਤ ਬਦਲਾਅ ਉਸੇ ਦਿਨ ਫੜਿਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਤੁਹਾਨੂੰ ਪਤਾ ਹੁੰਦਾ ਹੈ ਕਿ ਕਿਹੜਾ ਸੀ।
  • CD ਨਾਲ, ਜਾਂਚ ਪਾਸ ਕਰਨ ਵਾਲੀਆਂ ਰੋਟੀਆਂ ਸਿੱਧੀਆਂ ਡਿਲੀਵਰੀ ਵੈਨ ਵਿੱਚ ਜਾਂਦੀਆਂ ਹਨ, ਹਰ ਵਾਰ ਇੱਕੋ ਤਰੀਕੇ ਨਾਲ ਪੈਕ ਅਤੇ ਲੇਬਲ ਹੋ ਕੇ, ਨਾ ਕਿ ਕਿਸੇ ਦੇ ਸਵੇਰੇ 5 ਵਜੇ ਹੱਥੀਂ ਡੱਬੇ ਭਰਨ ਦੇ।

ਜਾਂਚ ਬੇਕਰਾਂ ਨੂੰ ਬਿਹਤਰ ਨਹੀਂ ਬਣਾਉਂਦੀ। ਇਹ ਉਹਨਾਂ ਦੀਆਂ ਗ਼ਲਤੀਆਂ ਸਸਤੀਆਂ ਬਣਾਉਂਦੀ ਹੈ।

CI/CD ਪਾਈਪਲਾਈਨ ਕਿਵੇਂ ਕੰਮ ਕਰਦੀ ਹੈ

ਪਾਈਪਲਾਈਨ ਕਦਮਾਂ ਦੀ ਇੱਕ ਸੂਚੀ ਹੈ ਜੋ CI/CD ਸੇਵਾ ਆਪਣੇ ਆਪ ਚਲਾਉਂਦੀ ਹੈ ਜਦੋਂ ਕੁਝ ਵਾਪਰਦਾ ਹੈ, ਆਮ ਤੌਰ 'ਤੇ ਜਦੋਂ ਕੋਈ GitHub ਵਰਗੇ ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਕੋਡ ਪੁਸ਼ ਕਰਦਾ ਹੈ। ਇੱਕ ਆਮ ਪਾਈਪਲਾਈਨ ਇਸ ਤਰ੍ਹਾਂ ਦੀ ਹੁੰਦੀ ਹੈ:

ਕਦਮਕੀ ਹੁੰਦਾ ਹੈਕੀ ਫੜਦਾ ਹੈ
1. ਟ੍ਰਿਗਰਕੋਡ ਪੁਸ਼ ਹੁੰਦਾ ਹੈ ਜਾਂ ਪੁੱਲ ਰਿਕਵੈਸਟ ਖੁੱਲ੍ਹਦੀ ਹੈ—
2. ਇੰਸਟਾਲਇੱਕ ਨਵੀਂ ਮਸ਼ੀਨ ਕੋਡ ਅਤੇ ਉਸਦੀਆਂ ਡਿਪੈਂਡੈਂਸੀਆਂ ਡਾਊਨਲੋਡ ਕਰਦੀ ਹੈਗੁੰਮ ਜਾਂ ਟੁੱਟੇ ਪੈਕੇਜ
3. ਬਿਲਡਐਪ ਕੰਪਾਈਲ ਜਾਂ ਬੰਡਲ ਹੁੰਦੀ ਹੈਸਿੰਟੈਕਸ ਅਤੇ ਕਿਸਮ ਦੀਆਂ ਗ਼ਲਤੀਆਂ, ਟੁੱਟੇ ਇੰਪੋਰਟ
4. ਟੈਸਟਆਟੋਮੈਟਿਕ ਟੈਸਟ ਚੱਲਦੇ ਹਨਉਹ ਫ਼ੀਚਰ ਜੋ ਹੁਣ ਕੰਮ ਨਹੀਂ ਕਰਦੇ
5. ਜਾਂਚਾਂਲਿੰਟਿੰਗ, ਫਾਰਮੈਟਿੰਗ, ਸੁਰੱਖਿਆ ਸਕੈਨਸਟਾਈਲ ਦੀਆਂ ਸਮੱਸਿਆਵਾਂ, ਜਾਣੇ-ਪਛਾਣੇ ਕਮਜ਼ੋਰ ਪੈਕੇਜ, ਲੀਕ ਹੋਈਆਂ ਕੁੰਜੀਆਂ
6. ਸਟੇਜਿੰਗ 'ਤੇ ਡਿਪਲੌਇਐਪ ਪ੍ਰੋਡਕਸ਼ਨ ਦੀ ਟੈਸਟ ਕਾਪੀ 'ਤੇ ਜਾਂਦੀ ਹੈਸਿਰਫ਼ ਅਸਲ ਵਾਤਾਵਰਣ ਵਿੱਚ ਦਿੱਸਣ ਵਾਲੀਆਂ ਸਮੱਸਿਆਵਾਂ
7. ਪ੍ਰੋਡਕਸ਼ਨ 'ਤੇ ਡਿਪਲੌਇਐਪ ਲਾਈਵ ਹੁੰਦੀ ਹੈ, ਆਪਣੇ ਆਪ ਜਾਂ ਮਨਜ਼ੂਰੀ ਤੋਂ ਬਾਅਦ—

ਹਰ ਕਦਮ ਕਿਸੇ ਸਾਫ਼ ਮਸ਼ੀਨ 'ਤੇ ਚੱਲਦਾ ਹੈ, ਕਿਸੇ ਦੇ ਲੈਪਟਾਪ 'ਤੇ ਨਹੀਂ, ਇਸ ਲਈ "ਮੇਰੇ ਕੰਪਿਊਟਰ 'ਤੇ ਚੱਲਦਾ ਹੈ" ਬਹਾਨਾ ਨਹੀਂ ਬਣਦਾ। ਜੇ ਕੋਈ ਕਦਮ ਫ਼ੇਲ੍ਹ ਹੋਵੇ, ਤਾਂ ਪਾਈਪਲਾਈਨ ਰੁਕ ਜਾਂਦੀ ਹੈ ਅਤੇ ਬਦਲਾਅ ਕਰਨ ਵਾਲੇ ਨੂੰ ਦੱਸਦੀ ਹੈ।

ਕਦਮ ਇੱਕ ਸੰਰਚਨਾ ਫ਼ਾਈਲ ਵਿੱਚ ਪਰਿਭਾਸ਼ਿਤ ਹੁੰਦੇ ਹਨ ਜੋ ਕੋਡ ਦੇ ਨਾਲ ਰਹਿੰਦੀ ਹੈ। ਉਦਾਹਰਣ ਵਜੋਂ GitHub Actions ਵਿੱਚ, ਇਹ ਰਿਪੋਜ਼ਟਰੀ ਦੇ .github/workflows ਫੋਲਡਰ ਵਿੱਚ ਇੱਕ YAML ਫ਼ਾਈਲ ਹੁੰਦੀ ਹੈ।

ਕੰਟੀਨਿਊਅਸ ਡਿਲੀਵਰੀ ਬਨਾਮ ਕੰਟੀਨਿਊਅਸ ਡਿਪਲੌਇਮੈਂਟ

"CD" ਅਸਪਸ਼ਟ ਹੈ, ਅਤੇ ਲੋਕ ਇਸਨੂੰ ਦੋਵੇਂ ਤਰੀਕਿਆਂ ਨਾਲ ਵਰਤਦੇ ਹਨ:

ਕੰਟੀਨਿਊਅਸ ਡਿਲੀਵਰੀਕੰਟੀਨਿਊਅਸ ਡਿਪਲੌਇਮੈਂਟ
ਟੈਸਟ ਆਪਣੇ ਆਪ ਚੱਲਦੇ ਹਨਹਾਂਹਾਂ
ਰਿਲੀਜ਼ ਆਪਣੇ ਆਪ ਪੈਕ ਹੁੰਦੀ ਹੈਹਾਂਹਾਂ
ਆਪਣੇ ਆਪ ਲਾਈਵ ਹੁੰਦੀ ਹੈਨਹੀਂ, ਇੱਕ ਵਿਅਕਤੀ "ਰਿਲੀਜ਼" ਦਬਾਉਂਦਾ ਹੈਹਾਂ, ਹਰ ਪਾਸ ਬਦਲਾਅ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ
ਕਿਸ ਲਈ ਚੰਗਾਜ਼ਿਆਦਾਤਰ ਛੋਟੀਆਂ ਟੀਮਾਂ, ਭੁਗਤਾਨ ਕਰਨ ਵਾਲੇ ਉਪਭੋਗਤਾਵਾਂ ਵਾਲੀਆਂ ਐਪਾਂਮਜ਼ਬੂਤ ਟੈਸਟ ਕਵਰੇਜ ਅਤੇ ਮਾਨੀਟਰਿੰਗ ਵਾਲੀਆਂ ਟੀਮਾਂ

ਕੰਟੀਨਿਊਅਸ ਡਿਪਲੌਇਮੈਂਟ ਤਾਂ ਹੀ ਚੰਗਾ ਕੰਮ ਕਰਦਾ ਹੈ ਜੇ ਟੈਸਟ ਚੰਗੇ ਹੋਣ। ਜੇ ਤੁਹਾਡੇ ਟੈਸਟ ਚੈੱਕਆਉਟ ਨੂੰ ਕਵਰ ਨਹੀਂ ਕਰਦੇ, ਤਾਂ ਕੰਟੀਨਿਊਅਸ ਡਿਪਲੌਇਮੈਂਟ ਖ਼ੁਸ਼ੀ-ਖ਼ੁਸ਼ੀ ਟੁੱਟਿਆ ਚੈੱਕਆਉਟ ਵੀ ਭੇਜ ਦੇਵੇਗਾ।

ਇੱਕ ਕੰਮ ਕੀਤੀ ਮਿਸਾਲ: ਪਾਈਪਲਾਈਨ ਵਾਲੀ ਬੁਕਿੰਗ ਐਪ

ਮੰਨ ਲਓ ਤੁਹਾਡੇ ਕੋਲ ਇੱਕ ਸੈਲੂਨ ਬੁਕਿੰਗ ਐਪ ਹੈ, ਅਤੇ ਉਸਦਾ ਕੋਡ ਇੱਕ GitHub ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ ਹੈ। ਤੁਸੀਂ AI ਬਿਲਡਰ ਨੂੰ ਕਹਿੰਦੇ ਹੋ: "ਪਹਿਲੀ ਵਾਰ ਆਉਣ ਵਾਲੇ ਗਾਹਕਾਂ ਲਈ 10% ਛੋਟ ਜੋੜੋ।"

  1. ਬਦਲਾਅ ਇੱਕ ਨਵੀਂ ਬ੍ਰਾਂਚ ਵਿੱਚ ਪੁਸ਼ ਹੁੰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਪੁੱਲ ਰਿਕਵੈਸਟ ਖੁੱਲ੍ਹਦੀ ਹੈ।
  2. ਪਾਈਪਲਾਈਨ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ। ਇਹ ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰਦੀ ਹੈ ਅਤੇ ਐਪ ਬਣਾਉਂਦੀ ਹੈ, ਅਤੇ ਇਹ ਪਾਸ ਹੁੰਦਾ ਹੈ।
  3. ਇਹ ਟੈਸਟ ਚਲਾਉਂਦੀ ਹੈ। ਇੱਕ ਟੈਸਟ, "ਵਾਪਸ ਆਉਣ ਵਾਲਾ ਗਾਹਕ ਪੂਰੀ ਕੀਮਤ ਦਿੰਦਾ ਹੈ", ਫ਼ੇਲ੍ਹ ਹੁੰਦਾ ਹੈ: ਛੋਟ ਹਰ ਕਿਸੇ 'ਤੇ ਲਾਗੂ ਹੋ ਰਹੀ ਹੈ।
  4. ਪੁੱਲ ਰਿਕਵੈਸਟ ਵਿੱਚ ਲਾਲ ਕਰਾਸ ਦਿੱਸਦਾ ਹੈ। ਬਦਲਾਅ ਮਿਲਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।
  5. ਤੁਸੀਂ AI ਨੂੰ ਇਸਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਕਹਿੰਦੇ ਹੋ। ਉਹ ਸੁਧਾਰ ਪੁਸ਼ ਕਰਦਾ ਹੈ; ਪਾਈਪਲਾਈਨ ਦੁਬਾਰਾ ਚੱਲਦੀ ਹੈ ਅਤੇ ਸਭ ਕੁਝ ਪਾਸ ਹੋ ਜਾਂਦਾ ਹੈ।
  6. ਬਦਲਾਅ ਮਿਲਾਇਆ ਜਾਂਦਾ ਹੈ। ਪਾਈਪਲਾਈਨ ਇਸਨੂੰ ਸਟੇਜਿੰਗ ਵਾਤਾਵਰਣ 'ਤੇ ਡਿਪਲੌਇ ਕਰਦੀ ਹੈ, ਜਿੱਥੇ ਤੁਸੀਂ ਇੱਕ ਟੈਸਟ ਬੁਕਿੰਗ ਕਰਦੇ ਹੋ।
  7. ਤੁਸੀਂ ਮਨਜ਼ੂਰੀ ਦਿੰਦੇ ਹੋ, ਅਤੇ ਇਹ ਪ੍ਰੋਡਕਸ਼ਨ 'ਤੇ ਡਿਪਲੌਇ ਹੁੰਦਾ ਹੈ।

ਪਾਈਪਲਾਈਨ ਤੋਂ ਬਿਨਾਂ, ਕਦਮ 3 ਤੁਹਾਡੇ ਗਾਹਕਾਂ ਦੇ ਬਟੂਏ 'ਤੇ ਹੁੰਦਾ।

ਮੁੱਖ ਸ਼ਬਦ

ਸ਼ਬਦਅਰਥ
ਪਾਈਪਲਾਈਨਕਦਮਾਂ ਦਾ ਆਟੋਮੈਟਿਕ ਕ੍ਰਮ ਜੋ ਹਰ ਬਦਲਾਅ 'ਤੇ ਚੱਲਦਾ ਹੈ।
ਬਿਲਡਸੋਰਸ ਕੋਡ ਨੂੰ ਅਜਿਹੀ ਚੀਜ਼ ਵਿੱਚ ਬਦਲਣਾ ਜੋ ਚੱਲ ਸਕੇ।
ਆਟੋਮੈਟਿਕ ਟੈਸਟਕੋਡ ਜੋ ਜਾਂਚਦਾ ਹੈ ਕਿ ਹੋਰ ਕੋਡ ਸਹੀ ਕੰਮ ਕਰਦਾ ਹੈ।
ਪੁੱਲ ਰਿਕਵੈਸਟ (PR)ਇੱਕ ਪ੍ਰਸਤਾਵਿਤ ਬਦਲਾਅ ਜਿਸਨੂੰ ਬਾਕੀ (ਅਤੇ ਪਾਈਪਲਾਈਨ) ਮਿਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਜਾਂਚਦੇ ਹਨ। ਵੇਖੋ GitHub ਕੀ ਹੈ।
ਬ੍ਰਾਂਚਬਦਲਾਵਾਂ ਦੀ ਵੱਖਰੀ ਲਾਈਨ, ਤਾਂ ਜੋ ਅਧੂਰਾ ਕੰਮ ਮੁੱਖ ਕੋਡ ਨੂੰ ਨਾ ਛੂਹੇ।
ਸਟੇਜਿੰਗਤੁਹਾਡੀ ਐਪ ਦੀ ਨਿੱਜੀ ਕਾਪੀ ਜੋ ਪ੍ਰੋਡਕਸ਼ਨ ਵਰਗੀ ਹੁੰਦੀ ਹੈ, ਉਪਭੋਗਤਾਵਾਂ ਤੋਂ ਪਹਿਲਾਂ ਬਦਲਾਅ ਜਾਂਚਣ ਲਈ।
ਪ੍ਰੋਡਕਸ਼ਨਲਾਈਵ ਐਪ ਜੋ ਤੁਹਾਡੇ ਉਪਭੋਗਤਾ ਵਰਤਦੇ ਹਨ।
ਰੋਲਬੈਕਰਿਲੀਜ਼ ਗ਼ਲਤ ਹੋਣ 'ਤੇ ਪਿਛਲੇ ਕੰਮ ਕਰਨ ਵਾਲੇ ਵਰਜਨ 'ਤੇ ਵਾਪਸ ਜਾਣਾ।
ਹਰਾ / ਲਾਲ ਬਿਲਡਪਾਈਪਲਾਈਨ ਚੱਲਣਾ ਜੋ ਪਾਸ ਹੋਈ / ਫ਼ੇਲ੍ਹ ਹੋਈ।

ਆਮ ਗ਼ਲਤਫ਼ਹਿਮੀਆਂ

  • "CI/CD ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਮੇਰੀ ਐਪ ਟੈਸਟ ਹੋ ਗਈ।" ਪਾਈਪਲਾਈਨ ਸਿਰਫ਼ ਉਹੀ ਟੈਸਟ ਚਲਾਉਂਦੀ ਹੈ ਜੋ ਤੁਹਾਡੇ ਕੋਲ ਹਨ। ਜੇ ਕੋਈ ਟੈਸਟ ਨਹੀਂ, ਤਾਂ CI ਸਿਰਫ਼ ਇਹ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਐਪ ਬਣਦੀ ਹੈ, ਹੋਰ ਕੁਝ ਨਹੀਂ। ਆਪਣੇ AI ਨੂੰ ਉਹਨਾਂ ਫਲੋਆਂ ਲਈ ਟੈਸਟ ਲਿਖਣ ਲਈ ਕਹੋ ਜੋ ਸਭ ਤੋਂ ਅਹਿਮ ਹਨ।
  • "CI/CD ਸਿਰਫ਼ ਵੱਡੀਆਂ ਕੰਪਨੀਆਂ ਲਈ ਹੈ।" GitHub Actions ਵਰਗੇ ਹੋਸਟ ਕੀਤੇ ਟੂਲਾਂ ਨੂੰ ਇੱਕ ਛੋਟੀ ਸੰਰਚਨਾ ਫ਼ਾਈਲ ਨਾਲ ਸੈਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਛੋਟੀਆਂ ਟੀਮਾਂ ਇਹ ਹਰ ਰੋਜ਼ ਵਰਤਦੀਆਂ ਹਨ। ਮਿਹਨਤ ਟੂਲਾਂ ਦੀ ਨਹੀਂ, ਟੈਸਟਾਂ ਦੀ ਹੁੰਦੀ ਹੈ।
  • "ਆਟੋਮੈਟਿਕ ਡਿਪਲੌਇਮੈਂਟ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਕੋਈ ਕੁਝ ਨਹੀਂ ਜਾਂਚਦਾ।" ਚੰਗੀਆਂ ਪਾਈਪਲਾਈਨਾਂ ਜਾਂਚਾਂ ਘਟਾਉਂਦੀਆਂ ਨਹੀਂ, ਵਧਾਉਂਦੀਆਂ ਹਨ। ਬਹੁਤ ਸਾਰੀਆਂ ਟੀਮਾਂ ਪ੍ਰੋਡਕਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਹੱਥੀਂ ਮਨਜ਼ੂਰੀ ਦਾ ਕਦਮ ਰੱਖਦੀਆਂ ਹਨ।
  • "ਜੇ ਪਾਈਪਲਾਈਨ ਹਰੀ ਹੈ, ਤਾਂ ਐਪ ਕੰਮ ਕਰਦੀ ਹੈ।" ਇਸਦਾ ਮਤਲਬ ਹੈ ਕਿ ਆਟੋਮੈਟਿਕ ਜਾਂਚਾਂ ਪਾਸ ਹੋਈਆਂ। ਫਿਰ ਵੀ ਤੁਹਾਨੂੰ ਬਦਲਾਅ ਖ਼ੁਦ ਅਜ਼ਮਾਉਣਾ ਚਾਹੀਦਾ ਹੈ, ਆਦਰਸ਼ ਤੌਰ 'ਤੇ ਪ੍ਰੀਵਿਊ ਜਾਂ ਸਟੇਜਿੰਗ 'ਤੇ।
  • "CI/CD ਬੈਕਅੱਪ ਦੀ ਥਾਂ ਲੈਂਦਾ ਹੈ।" ਨਹੀਂ ਲੈਂਦਾ। ਇੱਕ ਗ਼ਲਤ ਡੇਟਾਬੇਸ ਮਾਈਗ੍ਰੇਸ਼ਨ ਜੋ ਟੈਸਟ ਪਾਸ ਕਰ ਜਾਂਦੀ ਹੈ ਫਿਰ ਵੀ ਅਸਲ ਡੇਟਾ ਵਿਗਾੜ ਸਕਦੀ ਹੈ। ਬੈਕਅੱਪ ਅਤੇ ਰੋਲਬੈਕ ਦਾ ਤਰੀਕਾ ਰੱਖੋ।

ਆਪਣੇ AI ਬਿਲਡਰ ਤੋਂ ਕੀ ਪੁੱਛੋ

  • "ਸਾਈਨ-ਅੱਪ, ਲੌਗਇਨ ਅਤੇ ਚੈੱਕਆਉਟ ਲਈ ਆਟੋਮੈਟਿਕ ਟੈਸਟ ਲਿਖੋ, ਅਤੇ ਦਿਖਾਓ ਕਿ ਉਹਨਾਂ ਨੂੰ ਕਿਵੇਂ ਚਲਾਇਆ ਜਾਵੇ।"
  • "ਇੱਕ GitHub Actions ਵਰਕਫ਼ਲੋ ਸੈਟ ਕਰੋ ਜੋ ਹਰ ਪੁੱਲ ਰਿਕਵੈਸਟ 'ਤੇ ਡਿਪੈਂਡੈਂਸੀਆਂ ਇੰਸਟਾਲ ਕਰੇ, ਐਪ ਬਣਾਏ ਅਤੇ ਟੈਸਟ ਚਲਾਏ।"
  • "ਪਾਈਪਲਾਈਨ ਵਿੱਚ ਟਾਈਪ ਚੈੱਕ ਅਤੇ ਲਿੰਟਰ ਜੋੜੋ, ਅਤੇ ਗ਼ਲਤੀਆਂ 'ਤੇ ਫ਼ੇਲ੍ਹ ਹੋਣ ਦਿਓ।"
  • "ਪਾਈਪਲਾਈਨ ਦਾ ਹਰ ਕਦਮ ਸਾਫ਼ ਪੰਜਾਬੀ ਵਿੱਚ ਸਮਝਾਓ।"
  • "ਜੇ ਡਿਪਲੌਇ ਅੱਧ ਵਿਚਕਾਰ ਫ਼ੇਲ੍ਹ ਹੋਵੇ ਤਾਂ ਕੀ ਹੁੰਦਾ ਹੈ? ਮੈਂ ਰੋਲਬੈਕ ਕਿਵੇਂ ਕਰਾਂ?"
  • "ਜਾਂਚੋ ਕਿ ਰਿਪੋਜ਼ਟਰੀ ਜਾਂ ਪਾਈਪਲਾਈਨ ਲੌਗਾਂ ਵਿੱਚ ਕੋਈ ਗੁਪਤ ਕੁੰਜੀ ਹਾਰਡ-ਕੋਡ ਜਾਂ ਛਪੀ ਨਹੀਂ ਗਈ।"

ਜੇ ਤੁਹਾਡੀ ਐਪ API ਕੁੰਜੀਆਂ ਵਰਤਦੀ ਹੈ, ਤਾਂ ਪਾਈਪਲਾਈਨ ਨੂੰ ਵੀ ਉਹਨਾਂ ਦੀ ਲੋੜ ਹੈ, ਅਤੇ ਉਹ CI ਟੂਲ ਵਿੱਚ ਇਨਕ੍ਰਿਪਟਡ ਸੀਕਰੇਟਸ ਵਜੋਂ ਰੱਖੀਆਂ ਜਾਂਦੀਆਂ ਹਨ, ਸੰਰਚਨਾ ਫ਼ਾਈਲ ਵਿੱਚ ਕਦੇ ਨਹੀਂ। ਵੇਖੋ ਵਾਤਾਵਰਣ ਵੇਰੀਏਬਲ ਅਤੇ ਸੀਕਰੇਟਸ।

Mythex ਵਿੱਚ CI/CD

Mythex ਤੁਹਾਡੇ ਲਈ CI ਪਾਈਪਲਾਈਨ ਨਹੀਂ ਚਲਾਉਂਦਾ, ਪਰ ਆਪਣੇ ਤਰੀਕੇ ਨਾਲ ਕਈ ਇਹੀ ਲੋੜਾਂ ਪੂਰੀਆਂ ਕਰਦਾ ਹੈ:

  • ਚੈੱਕਪੌਇੰਟ। ਹਰ ਸਫ਼ਲ ਏਜੰਟ ਟਰਨ ਤੋਂ ਬਾਅਦ Mythex ਇੱਕ git ਚੈੱਕਪੌਇੰਟ ਸੰਭਾਲਦਾ ਹੈ, ਅਤੇ Revert to this point ਨਾਲ ਜੇ ਬਦਲਾਅ ਗ਼ਲਤ ਹੋ ਜਾਵੇ ਤਾਂ ਪ੍ਰੋਜੈਕਟ ਵਾਪਸ ਲਿਆਂਦਾ ਜਾ ਸਕਦਾ ਹੈ। ਵੇਖੋ Chat।
  • ਐਪ ਟੈਸਟਿੰਗ। /test ਟਾਈਪ ਕਰੋ ਅਤੇ ਏਜੰਟ ਤੁਹਾਡੀ ਲਾਈਵ ਪ੍ਰੀਵਿਊ ਵਿੱਚ ਇੱਕ ਉਪਭੋਗਤਾ ਵਾਂਗ ਕਲਿੱਕ ਕਰਦਾ ਹੈ ਅਤੇ ਟੁੱਟੇ ਫਲੋ ਦੀ ਰਿਪੋਰਟ ਦਿੰਦਾ ਹੈ, ਜੋ ਹਰ ਪ੍ਰਕਾਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਲਾਭਦਾਇਕ ਹੈ। ਵੇਖੋ App Testing।
  • ਪ੍ਰਕਾਸ਼ਨ ਇੱਕ ਸੋਚ-ਸਮਝ ਕੇ ਕੀਤਾ ਕਦਮ ਹੈ। ਬਦਲਾਅ ਪਹਿਲਾਂ ਨਿੱਜੀ ਪ੍ਰੀਵਿਊ ਵਿੱਚ ਦਿੱਸਦੇ ਹਨ; ਤੁਹਾਡੀ ਜਨਤਕ ਐਪ ਸਿਰਫ਼ ਉਦੋਂ ਅੱਪਡੇਟ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਤੁਸੀਂ ਦੁਬਾਰਾ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦੇ ਹੋ। ਇਹ ਕੰਟੀਨਿਊਅਸ ਡਿਪਲੌਇਮੈਂਟ ਨਾਲੋਂ ਕੰਟੀਨਿਊਅਸ ਡਿਲੀਵਰੀ ਦੇ ਨੇੜੇ ਹੈ।
  • GitHub ਸਿੰਕ (Pro)। ਪ੍ਰੋਜੈਕਟ ਨੂੰ GitHub ਰਿਪੋਜ਼ਟਰੀ ਨਾਲ ਸਿੰਕ ਕਰੋ ਅਤੇ ਹਰ ਪੁਸ਼ 'ਤੇ ਟੈਸਟ ਚਲਾਉਣ ਲਈ ਆਪਣੇ GitHub Actions ਵਰਕਫ਼ਲੋ ਜੋੜ ਸਕਦੇ ਹੋ। ਵੇਖੋ GitHub and export।

ਲਾਈਵ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਹੱਥੀਂ ਕੀ ਜਾਂਚਣਾ ਹੈ, ਇਸਦੀ ਚੈੱਕਲਿਸਟ ਲਈ ਲਾਂਚ ਤੋਂ ਪਹਿਲਾਂ ਐਪ ਕਿਵੇਂ ਟੈਸਟ ਕਰੀਏ ਵੇਖੋ, ਅਤੇ ਵਰਜਨ ਕੰਟਰੋਲ ਲਈ AI ਨਾਲ ਬਣੀ ਐਪ ਵਿੱਚ Git ਕਿਵੇਂ ਵਰਤੀਏ ਵੇਖੋ।

ਸਵਾਲ

CI/CD ਦਾ ਕੀ ਮਤਲਬ ਹੈ?

CI ਦਾ ਮਤਲਬ ਹੈ ਕੰਟੀਨਿਊਅਸ ਇੰਟੀਗ੍ਰੇਸ਼ਨ: ਹਰ ਕੋਡ ਬਦਲਾਅ ਅਕਸਰ ਮਿਲਾਇਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਆਪਣੇ ਆਪ ਬਣਾਇਆ ਤੇ ਟੈਸਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। CD ਦਾ ਮਤਲਬ ਹੈ ਕੰਟੀਨਿਊਅਸ ਡਿਲੀਵਰੀ ਜਾਂ ਕੰਟੀਨਿਊਅਸ ਡਿਪਲੌਇਮੈਂਟ: ਜੋ ਬਦਲਾਅ ਟੈਸਟ ਪਾਸ ਕਰਦੇ ਹਨ ਉਹ ਰਿਲੀਜ਼ ਲਈ ਆਪਣੇ ਆਪ ਤਿਆਰ ਹੁੰਦੇ ਹਨ (ਡਿਲੀਵਰੀ) ਜਾਂ ਬਿਨਾਂ ਹੱਥੀਂ ਕਦਮ ਦੇ ਉਪਭੋਗਤਾਵਾਂ ਤੱਕ ਪਹੁੰਚਦੇ ਹਨ (ਡਿਪਲੌਇਮੈਂਟ)।

ਕੰਟੀਨਿਊਅਸ ਡਿਲੀਵਰੀ ਅਤੇ ਕੰਟੀਨਿਊਅਸ ਡਿਪਲੌਇਮੈਂਟ ਵਿੱਚ ਕੀ ਫ਼ਰਕ ਹੈ?

ਕੰਟੀਨਿਊਅਸ ਡਿਲੀਵਰੀ ਵਿੱਚ, ਹਰ ਬਦਲਾਅ ਜੋ ਪਾਈਪਲਾਈਨ ਪਾਸ ਕਰਦਾ ਹੈ ਰਿਲੀਜ਼ ਲਈ ਤਿਆਰ ਹੁੰਦਾ ਹੈ, ਪਰ ਉਸਨੂੰ ਲਾਈਵ ਕਦੋਂ ਕਰਨਾ ਹੈ ਇਹ ਅਜੇ ਵੀ ਇੱਕ ਵਿਅਕਤੀ ਤੈਅ ਕਰਦਾ ਹੈ। ਕੰਟੀਨਿਊਅਸ ਡਿਪਲੌਇਮੈਂਟ ਵਿੱਚ, ਹਰ ਪਾਸ ਹੋਇਆ ਬਦਲਾਅ ਆਪਣੇ ਆਪ ਲਾਈਵ ਹੋ ਜਾਂਦਾ ਹੈ, ਬਿਨਾਂ ਕਿਸੇ ਮਨੁੱਖੀ ਮਨਜ਼ੂਰੀ ਦੇ।

ਕੀ AI ਨਾਲ ਬਣੀ ਛੋਟੀ ਐਪ ਲਈ CI/CD ਦੀ ਲੋੜ ਹੈ?

ਪਹਿਲੇ ਦਿਨ ਨਹੀਂ। ਕੁਝ ਕੁ ਉਪਭੋਗਤਾਵਾਂ ਵਾਲੀ ਛੋਟੀ ਐਪ ਪ੍ਰੀਵਿਊ ਵਿੱਚ ਟੈਸਟਿੰਗ ਅਤੇ ਹੱਥੀਂ ਪ੍ਰਕਾਸ਼ਨ ਨਾਲ ਚੱਲ ਸਕਦੀ ਹੈ। CI/CD ਉਦੋਂ ਲਾਭਦਾਇਕ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਕਈ ਲੋਕ ਕੋਡ ਬਦਲਣ ਲੱਗਦੇ ਹਨ, ਜਦੋਂ ਅਸਲ ਗਾਹਕ ਐਪ 'ਤੇ ਨਿਰਭਰ ਹੁੰਦੇ ਹਨ, ਜਾਂ ਜਦੋਂ ਪਹਿਲਾਂ ਚੱਲਦਾ ਕੰਮ ਵਾਰ-ਵਾਰ ਟੁੱਟਣ ਲੱਗਦਾ ਹੈ।

CI/CD ਲਈ ਕਿਹੜੇ ਟੂਲ ਵਰਤੇ ਜਾਂਦੇ ਹਨ?

ਆਮ ਟੂਲਾਂ ਵਿੱਚ GitHub Actions, GitLab CI/CD, CircleCI ਅਤੇ Jenkins ਸ਼ਾਮਲ ਹਨ, ਨਾਲ ਹੀ ਹੋਸਟਿੰਗ ਪਲੇਟਫਾਰਮਾਂ ਦੀਆਂ ਬਣੀਆਂ ਡਿਪਲੌਇ ਪਾਈਪਲਾਈਨਾਂ। ਇਹ ਸਾਰੇ ਇੱਕੋ ਬੁਨਿਆਦੀ ਕੰਮ ਕਰਦੇ ਹਨ: ਜਦੋਂ ਵੀ ਕੋਡ ਬਦਲੇ, ਕਦਮਾਂ ਦੀ ਸੂਚੀ ਆਪਣੇ ਆਪ ਚਲਾਉਣਾ।

Mythex · Pricing · AI ਨਾਲ ਕੁਝ ਵੀ ਬਣਾਓ · ਵੈੱਬਸਾਈਟ ਅਤੇ ਐਪ ਟੈਂਪਲੇਟ · Mythex ਦੀ ਤੁਲਨਾ · AI ਐਪ ਬਣਾਉਣ ਦੀ ਸ਼ਬਦਾਵਲੀ · ਮੁਫ਼ਤ AI ਐਪ ਬਣਾਉਣ ਵਾਲੇ ਟੂਲ · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)