ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਇੱਕ ਬਿਲਡ ਕੰਮ ਹੈ ਜੋ wheel ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਨਿੱਜੀ ਰਿਪੋਜ਼ਟਰੀ ਹੈ ਜਿਸ ਨੂੰ ਉਹ ਮਿਲਣਾ ਚਾਹੀਦਾ ਹੈ। ਗ਼ਲਤੀ ਇਹ ਹੈ ਕਿ ਦੂਜੇ ਕੰਮ ਨੂੰ ਸ਼ਾਖਾ ਤੋਂ ਦੁਬਾਰਾ ਬਿਲਡ ਕਰਨ ਦਿੱਤਾ ਜਾਵੇ ਅਤੇ ਨਤੀਜੇ ਨੂੰ ਉਹੀ ਰਿਲੀਜ਼ ਕਿਹਾ ਜਾਵੇ। ਜਿਸ ਫਾਈਲ ਦੀ ਜਾਂਚ ਹੋਈ ਹੈ ਉਹੀ ਅੱਗੇ ਭੇਜੋ, ਉਸ ਨੂੰ ਡਾਈਜੈਸਟ ਨਾਲ ਨਾਮ ਦਿਓ, ਅਤੇ ਅੱਪਲੋਡ ਪ੍ਰਮਾਣ ਪੱਤਰ ਅੰਦਰ ਹੀ ਰੱਖੋ। ਹੇਠਾਂ ਦਿੱਤਾ ਵੇਰਵਾ ਇੱਕ ਆਰਟੀਫੈਕਟ ਨੂੰ ਜਨਤਕ CI ਰਨਰ ਤੋਂ ਅੰਦਰੂਨੀ ਪ੍ਰਕਾਸ਼ਕ ਤੱਕ ਲੈ ਜਾਂਦਾ ਹੈ।

ਜਿੱਥੇ ਸਰੋਤ ਪਹਿਲਾਂ ਹੀ ਹੈ ਉੱਥੇ ਹੀ ਬਿਲਡ ਕਰੋ

ਬਿਲਡ ਉਸੇ ਕੰਮ ਵਿੱਚ ਚਲਾਓ ਜਿਸ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਸਰੋਤ, ਸੰਦ-ਲੜੀ ਅਤੇ ਟੈਸਟ ਸੈੱਟ ਹੈ। ਨਿੱਜੀ ਰਿਪੋਜ਼ਟਰੀ ਬਾਰੇ ਕੁਝ ਵੀ ਉਸ ਕੰਮ ਨੂੰ ਉੱਥੇ ਪਹੁੰਚਣ ਦੀ ਮੰਗ ਨਹੀਂ ਕਰਦਾ। ਪ੍ਰੋਜੈਕਟ ਜੋ ਵਾਤਾਵਰਨ ਪਹਿਲਾਂ ਹੀ ਵਰਤਦਾ ਹੈ ਉੱਥੇ ਬਿਲਡ ਫਰੰਟਐਂਡ ਸਥਾਪਿਤ ਕਰੋ, ਫਿਰ ਜੇ ਪ੍ਰੋਜੈਕਟ ਦੋਵੇਂ ਵੰਡ ਫਾਰਮੈਟ ਭੇਜਦਾ ਹੈ ਤਾਂ ਦੋਵੇਂ ਬਣਾਓ।

python -m build --sdist --wheel --outdir dist
python -m twine check dist/*

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

ਦਰਜ ਕਰੋ ਕਿ ਉਹਨਾਂ ਨੂੰ ਕਿਸ ਨੇ ਬਣਾਇਆ: ਫਾਈਲ ਨਾਵਾਂ ਤੋਂ ਪੈਕੇਜ ਦਾ ਨਾਮ ਅਤੇ ਸੰਸਕਰਣ, ਸਰੋਤ ਸੋਧ, ਅਤੇ ਉਹ ਵਰਕਫਲੋ ਰਨ ਜਿਸ ਨੇ ਉਹਨਾਂ ਨੂੰ ਬਣਾਇਆ। ਸਿਰਫ਼ ਸੰਸਕਰਣ ਸਤਰ ਕਿਸੇ ਫਾਈਲ ਦੀ ਪਛਾਣ ਨਹੀਂ ਕਰਦੀ, ਕਿਉਂਕਿ ਉਹੀ ਸੰਸਕਰਣ ਵੱਖ-ਵੱਖ commit ਤੋਂ ਦੋ ਵਾਰ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ। ਆਰਟੀਫੈਕਟ ਵੇਰਵੇ ਵਿੱਚ ਫਾਈਲ ਨਾਵਾਂ ਦੇ ਕੋਲ ਸੋਧ ਲਿਖੋ, ਅਤੇ ਉਸ ਦਰਜ ਨੂੰ ਹਸਤਾਂਤਰਨ ਦਾ ਹਿੱਸਾ ਮੰਨੋ।

ਦੁਬਾਰਾ ਬਿਲਡ ਦੇ ਨਿਰਦੇਸ਼ ਨਹੀਂ, ਬਾਈਟ ਭੇਜੋ

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

ਵੰਡ ਫਾਈਲਾਂ ਨੂੰ ਤੁਹਾਡੇ CI ਪਲੇਟਫਾਰਮ ਵੱਲੋਂ ਦਿੱਤੇ ਆਰਟੀਫੈਕਟ ਸਟੋਰ ਵਿੱਚ ਅੱਪਲੋਡ ਕਰੋ, ਅਤੇ ਅੰਦਰੂਨੀ ਕੰਮ ਨੂੰ ਸ਼ਾਖਾ ਦੇ ਨਾਮ ਦੀ ਥਾਂ ਉਸੇ ਖਾਸ ਆਰਟੀਫੈਕਟ ਦਾ ਹਵਾਲਾ ਦਿਓ।

sha256sum dist/*.whl dist/*.tar.gz
# keep the digests beside the run id in the artifact description

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

ਅੱਪਲੋਡ ਤੋਂ ਪਹਿਲਾਂ ਅੰਦਰ ਜਾਂਚੋ

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

sha256sum -c digests.txt
python -m twine check dist/*

ਫਿਰ ਮੈਟਾਡੇਟਾ ਪੜ੍ਹੋ। ਪੈਕੇਜ ਦਾ ਨਾਮ, ਸੰਸਕਰਣ ਅਤੇ ਘੋਸ਼ਿਤ ਨਿਰਭਰਤਾਵਾਂ ਤੁਹਾਡੇ ਮਨਜ਼ੂਰ ਕੀਤੇ ਸਮੀਖਿਆ ਨਾਲ ਮੇਲ ਖਾਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। ਜਿਸ wheel ਦਾ ਨਾਮ ਸਹੀ ਦਿਸਦਾ ਹੈ ਪਰ ਨਿਰਭਰਤਾ ਪਿੰਨ ਬਦਲ ਗਏ ਹਨ, ਉਹ ਉਸੇ ਲੇਬਲ ਵਾਲਾ ਦੂਜਾ ਪੈਕੇਜ ਹੈ। ਜੇ ਮੈਟਾਡੇਟਾ ਖਿਸਕ ਗਿਆ ਹੈ, ਤਾਂ ਆਰਟੀਫੈਕਟ ਨੂੰ ਨਾ-ਮਨਜ਼ੂਰ ਮੰਨੋ ਅਤੇ ਪਤਾ ਲਗਾਓ ਕਿ ਕਿਹੜੇ ਬਿਲਡ ਨੇ ਇਸ ਨੂੰ ਬਣਾਇਆ।

ਜੇ ਡਾਈਜੈਸਟ ਮੇਲ ਨਹੀਂ ਖਾਂਦੇ, ਤਾਂ ਰੁਕੋ। ਅੱਪਲੋਡ ਨਾ ਕਰੋ, ਅਤੇ ਫਾਈਲ ਨੂੰ ਉੱਥੇ ਹੀ ਦੁਬਾਰਾ ਬਿਲਡ ਕਰਕੇ ਠੀਕ ਨਾ ਕਰੋ; ਇਸ ਨਾਲ ਇਹ ਸਬੂਤ ਮਿਟ ਜਾਂਦਾ ਹੈ ਕਿ ਲਿਜਾਣ ਵੇਲੇ ਕੁਝ ਬਦਲਿਆ। ਨਾ-ਮੇਲ ਦਾ ਅਰਥ ਹੈ ਕਿ ਆਰਟੀਫੈਕਟ ਸਟੋਰ, ਡਾਊਨਲੋਡ ਕਦਮ ਜਾਂ ਦਰਜ ਗ਼ਲਤ ਹੈ, ਅਤੇ ਰਿਲੀਜ਼ ਪ੍ਰਕਾਸ਼ਿਤ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਹਰ ਇੱਕ ਦੀ ਵਿਆਖਿਆ ਲੋੜੀਂਦੀ ਹੈ।

ਦੁਹਰੇ ਸੰਸਕਰਣ ਦਾ ਜਵਾਬ ਸੰਭਾਲੋ

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

ਮੌਜੂਦ ਸੰਸਕਰਣ ਦਾ ਅਰਥ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਪਿਛਲਾ ਅੱਪਲੋਡ ਸਫਲ ਹੋਇਆ ਅਤੇ ਜਵਾਬ ਗੁੰਮ ਹੋ ਗਿਆ, ਜਾਂ ਕਿਸੇ ਨੇ ਉਸੇ ਨੰਬਰ ਹੇਠ ਵੱਖਰੀ ਸਮੱਗਰੀ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੀ।

ਸੰਸਕਰਣ ਨਾ ਮਿਟਾਓ, ਅਤੇ ਗ਼ਲਤੀ ਤੋਂ ਬਚਣ ਲਈ ਨਵਾਂ ਨੰਬਰ ਨਾ ਘੜੋ। ਸੰਭਾਲੀ ਸਮੱਗਰੀ ਮਨਜ਼ੂਰ ਹੈ ਜਾਂ ਨਹੀਂ, ਇਹ ਰਿਲੀਜ਼ ਮਾਲਕ ਨਾਲ ਤੈਅ ਕਰੋ, ਫਿਰ ਨਤੀਜਾ ਦਰਜ ਕਰੋ। ਜੇ ਸਮੱਗਰੀ ਵੱਖਰੀ ਹੈ, ਤਾਂ ਇਹ ਸੰਸਕਰਣ ਦੀ ਸਮੱਸਿਆ ਹੈ, ਪਾਈਪਲਾਈਨ ਦੀ ਨਹੀਂ।

ਅੱਪਲੋਡ ਪ੍ਰਮਾਣ ਪੱਤਰ ਇੱਕ ਪਾਸੇ ਰੱਖੋ

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

ਕਿਹੜੇ ਅੰਦਰੂਨੀ ਵਰਕਫਲੋ ਪ੍ਰਕਾਸ਼ਕ ਸ਼ੁਰੂ ਕਰ ਸਕਦੇ ਹਨ, ਇਹ ਵੀ ਸੀਮਿਤ ਕਰੋ। ਲਾਜ਼ਮੀ ਮਨਜ਼ੂਰੀ ਵਾਲਾ ਹੱਥੀ ਟ੍ਰਿਗਰ ਰਿਲੀਜ਼ ਲਈ ਵਾਜਬ ਡਿਫ਼ਾਲਟ ਹੈ; ਕਿਸੇ ਵੀ ਸ਼ਾਖਾ ਵਿੱਚ push ਨਹੀਂ।

ਪੂਰਾ ਹੋਇਆ ਰਿਲੀਜ਼ ਤਿੰਨ ਚੀਜ਼ਾਂ ਪਿੱਛੇ ਛੱਡਣਾ ਚਾਹੀਦਾ ਹੈ: ਵੰਡ ਫਾਈਲਾਂ, ਸਰੋਤ ਸੋਧ ਨਾਲ ਉਹਨਾਂ ਦੇ ਡਾਈਜੈਸਟ, ਅਤੇ ਉਹੀ ਸੰਸਕਰਣ ਦਿਖਾਉਂਦਾ ਰਿਪੋਜ਼ਟਰੀ ਦਰਜ।

ਸੰਬੰਧਿਤ ਲੇਖ