ฉันต้องการเรียกใช้คำสั่ง amazon linux โดยเป็นส่วนหนึ่งของไปป์ไลน์ gitlab
ดังนั้น พยายามใช้ docker image เป็นตัวรัน amazonlinux: ล่าสุด
ดังนั้นเชื่อมต่อกับ docker container และรันคำสั่งด้านล่าง
yum -yq ติดตั้ง aws-cli
มันติดตั้ง aws-cli
จากนั้นกำหนดค่า aws cli
aws กำหนดค่าชุดภูมิภาค $AWS_REGION
aws กำหนดค่าชุด aws_access_key_id $AWS_ACCESS_KEY
aws กำหนดค่าชุด aws_secret_access_key $AWS_SECRET_KEY
aws กำหนดค่าชุด plugins.bolt awscli-plugin-bolt
จากนั้นรันคำสั่งด้านล่างเพื่อตรวจสอบข้อมูลประจำตัว แต่ได้รับข้อผิดพลาดเนื่องจาก aws-cli-plugin-bolt ไม่มี
aws sts รับตัวตนผู้โทร
จากนั้นรันการติดตั้ง python pip เหมือนกันและได้รับข้อผิดพลาดในการเลิกใช้งาน python 2.7 และไม่พบโมดูล
pip ติดตั้ง awscli-plugin-bolt
การเลิกใช้งาน: Python 2.7 สิ้นสุดอายุการใช้งานในวันที่ 1 มกราคม 2020 โปรดอัปเกรด Python ของคุณเนื่องจาก Python 2.7 ไม่ได้รับการดูแลอีกต่อไป pip 21.0 จะเลิกรองรับ Python 2.7 ในเดือนมกราคม 2021 ดูรายละเอียดเพิ่มเติมเกี่ยวกับการสนับสนุน Python 2 ใน pip ได้ที่ https://pip.pypa.io/en/latest/development/release-process/#python-2-support
คำเตือน: การรัน pip install ด้วยสิทธิ์ root โดยทั่วไปไม่ใช่ความคิดที่ดี ลองใช้ `pip install --user` แทน
ข้อผิดพลาด: ไม่พบเวอร์ชันที่ตรงตามข้อกำหนด awscli-plugin-bolt (จากเวอร์ชัน: ไม่มี)
ข้อผิดพลาด: ไม่พบการกระจายที่ตรงกันสำหรับ awscli-plugin-bolt
ดังนั้นเปลี่ยน python เป็น python 3 เป็นเวอร์ชันเริ่มต้นโดยใช้คำสั่งด้านล่างและการอ้างอิง หน้าหนังสือ.
amazon-linux-extras เปิดใช้งาน python3.8
ยำติดตั้ง python3.8
ทางเลือกในการปรับปรุง -- ติดตั้ง /usr/bin/python python /usr/bin/python3.8 1
จากนั้นติดตั้งสลักเกลียวโดยใช้ pip3
ยำติดตั้ง python3-pip
pip3 ติดตั้ง awscli-plugin-bolt
แต่ถึงกระนั้นคำสั่งด้านล่างยังคงค้นหา python 2 และล้มเหลว
aws sts รับตัวตนผู้โทร
ดังนั้น ลบคอนเทนเนอร์นั้นและสร้างคอนเทนเนอร์ใหม่ และในขั้นตอนแรก เปลี่ยน python เวอร์ชัน 3 เป็นค่าเริ่มต้น
แต่คราวนี้ yum การติดตั้ง aws-cli นั้นล้มเหลว
bash-4.2# yum -yq ติดตั้ง aws-cli.dll
ไฟล์ "/usr/bin/yum" บรรทัดที่ 30
ยกเว้น KeyboardInterrupt, e:
^
SyntaxError: ไวยากรณ์ไม่ถูกต้อง
โปรดแนะนำวิธีเข้าถึงคำสั่ง aws cli จากอิมเมจนักเทียบท่า amazonlinux
ดูเหมือนว่าจะใช้งานได้ถ้าฉันเปลี่ยนภาพเป็น
ภาพ:
ชื่อ: อเมซอน/aws-cli
จุดเริ่มต้น: [""]
เพื่อไม่ต้องติดตั้ง aws cli ด้วยตัวเอง
แต่มันมาพร้อมกับ 3.7 โดยค่าเริ่มต้น วิธีการเปลี่ยนเป็นส่วนหนึ่งของภาพ
และคำถามหลักใน gitlab ด้านบนรูปภาพใช้งานได้ โดย docker run ฉันไม่สามารถใช้รูปภาพได้โดยตรง คำสั่ง aws แต่ละคำสั่งเท่านั้นที่ยอมรับและปิดคอนเทนเนอร์ทันที