สอบถาม ผมจะทำ ci ของ gitlab ผมดูดไฟล์ project จาก api ของ gitlab ได้แล้วทำอย่างไรต่อครับ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: สอบถาม ผมจะทำ ci ของ gitlab ผมดูดไฟล์ project จาก api ของ gitlab ได้แล้วทำอย่างไรต่อครับ

Re: สอบถาม ผมจะทำ ci ของ gitlab ผมดูดไฟล์ project จาก api ของ gitlab ได้แล้วทำอย่างไรต่อครับ

โดย jirawoot » 02/04/2020 10:25 am

อันนี้ link ของที่เราเขียนใช่มั้ยครับ script: curl http://abc.com/script.php เช่น http://127.0.0.1/script.py

Re: สอบถาม ผมจะทำ ci ของ gitlab ผมดูดไฟล์ project จาก api ของ gitlab ได้แล้วทำอย่างไรต่อครับ

โดย tsukasaz » 02/04/2020 10:14 am

ไปสร้างไฟล์ .gitlab-ci.yml ในโปรเจค เพื่อให้ตัว ci ทำงาน โดยการทำงานของ ci ให้ไปเรียก script ที่เราเขียนไว้

ตัวอย่างสำหรับ php

โค้ด: เลือกทั้งหมด

stages:
  - upload

# Select image from https://hub.docker.com/_/php/
image: php:latest

before_script:
  - apt-get update && apt-get install -qqy git unzip wget

job1:
  stage: upload
  script: curl http://abc.com/script.php
  

สอบถาม ผมจะทำ ci ของ gitlab ผมดูดไฟล์ project จาก api ของ gitlab ได้แล้วทำอย่างไรต่อครับ

โดย jirawoot » 01/04/2020 12:09 pm

ตอนนี้ผมดึงไฟล์ project จาก api ของ gitlab ได้แล้วทำอย่างไรต่อครับ

โค้ด: เลือกทั้งหมด

import requests
from zipfile import ZipFile
re = requests.get('http://gitlab.example.com/api/v4/projects/254/repository/archive.zip?private_token=xxxxxxx')
print type(re.content)
with open('archive.zip', 'wb') as f:
    f.write(re.content)
f.close()
# zip_test = ZipFile('sample.zip', 'w')
# zip_test.write(re.content)
# zip_test.close()

with ZipFile('archive.zip', 'r') as zipObj:
    print dir(zipObj)
    print zipObj.comment
    zipObj.extractall()
C++ & java & Python-1.png
C++ & java & Python-1.png (20.95 KiB) Viewed 1834 times

ข้างบน