DevOps

ถาม & ตอบสำหรับวิศวกรซอฟต์แวร์ที่ทำงานเกี่ยวกับการทดสอบอัตโนมัติการส่งมอบอย่างต่อเนื่องการรวมบริการและการตรวจสอบและการสร้างโครงสร้างพื้นฐาน SDLC

4
การใช้งานตัวจัดเรียงไม่ได้รับการสนับสนุนใน BitBucket หรือไม่
จุดมุ่งหมาย จุดมุ่งหมายคือการเรียกใช้นักเทียบท่าในท่อ BitBucket พยายาม bitbucket-pipelines.yml image: docker/compose:1.12.0 pipelines: default: - step: script: - docker-compose up --build ผล The Docker Engine version is less than the minimum required by Compose. Your current project requires a Docker Engine of version 1.13.0 or greater. อภิปรายผล ตามนี้โพสต์มันก็ไม่ได้รับการสนับสนุน

2
แยก SQL Server หรือแยกฐานข้อมูล SQL เพื่อทำการทดสอบและการผลิต?
ฉันใหม่กับ SQL Server ดังนั้นนี่อาจเป็นคำถามการจัดการ SQL Server มากกว่า ฉันกำลังสร้างฐานข้อมูลทดสอบและการผลิตสำหรับบริการและฉันคิดว่าฉันจะเช็ดฐานข้อมูลการทดสอบค่อนข้างมาก นอกจากนี้ฉันจะต้องการกลยุทธ์การจำลองแบบและการตรวจสอบที่แตกต่างกัน มันมีเหตุผลที่จะมีทั้งฐานข้อมูล SQL ใน SQL Server เดียวกันซึ่งดูเหมือนว่า Azure Portal ทำให้การจัดการง่ายที่สุดหรือเหมาะสมกว่าที่จะสร้างเซิร์ฟเวอร์ SQL แบบแยกต่างหากสำหรับฐานข้อมูลการทดสอบและการผลิต
12 sql  azure 

3
โซลูชัน SCM ใดที่มีอยู่สำหรับการจัดการซอฟต์แวร์เมนเฟรม
ลองนึกภาพ บริษัท ที่ใช้ mainframes เพื่อเรียกใช้ (ส่วนหนึ่ง) แอปพลิเคชันทางธุรกิจ (มักเป็นภารกิจสำคัญ) และใช้z / OS (หรือที่เรียกว่าOS / 390หรือMVS ) ซอฟต์แวร์ทั่วไปที่ใช้เพื่ออำนวยความสะดวกในการจัดการการเปลี่ยนแปลงซอฟต์แวร์และการกำหนดค่าสำหรับซอฟต์แวร์ที่ติดตั้ง / ใช้งานบนเมนเฟรมเหล่านั้นคืออะไร

2
ด้านการจัดการการวางจำหน่ายใดช่วยอธิบายความแตกต่างระหว่าง Waterfall และ Agile
เมื่ออธิบาย DevOps ให้ใครสักคนมันเกิดขึ้นว่าคำถามเกิดขึ้นเช่น: การจัดการการเผยแพร่โดยใช้วิธีการ Agile แตกต่างจาก Waterfall อย่างไร ดังนั้นเกณฑ์ใดบ้างที่คุณสามารถใช้อธิบายความแตกต่างเหล่านี้กับผู้ชมดังกล่าว

2
เครื่องมือการจัดการการกำหนดค่ามีบทบาทอย่างไรในโครงสร้างพื้นฐานที่ไม่เปลี่ยนแปลง
หากฉันใช้ไม่เปลี่ยนรูปเซิร์ฟเวอร์ / ภาชนะบรรจุที่ฉันจะต้องเครื่องมือเช่นเชฟหุ่นกระบอกเบิ้ลหรือเกลือ? เครื่องมือจัดการการกำหนดค่าเหล่านั้นได้รับการออกแบบมาเพื่อสร้างการกำหนดค่าจากนั้นดูแลรักษา หากฉันปรับใช้เซิร์ฟเวอร์ที่ไม่เปลี่ยนรูปแบบฉันควรใช้เครื่องมือการจัดการการกำหนดค่าสำหรับการจัดเตรียมเริ่มต้นเท่านั้นหรือไม่

4
ไม่สามารถเชื่อมต่อกับ chocolatey.org หรือเว็บไซต์อินเทอร์เน็ตอื่น ๆ จากภายในตู้คอนเทนเนอร์
xpost จากhttps://forums.docker.com/t/cannot-connect-to-chocolatey-org/38745 พฤติกรรมที่คาดหวัง ฉันใช้ Windows Server 2016 Datacenter (ดาวน์โหลด MSDN) 64 บิต - รุ่น 1607 - Build 14393.1715 ฉันใช้ Docker สำหรับ Windows และใช้งาน Windows Containers ฉันคิดว่านี่เป็นสิ่งที่ง่ายที่สุดในโลกเมื่อต้องการทำสิ่งนี้: reboot my host machine docker run -it microsoft/windowsservercore powershell iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1')); ความคาดหวังสำหรับสิ่งนี้เพื่อติดตั้งช็อคโกแลตในภาชนะ จริงๆแล้วฉันกำลังจะทำสิ่งนี้ใน dockerfile แต่ฉันจะเป็นตัวอย่างการทำงานขั้นต่ำเพื่อรับความช่วยเหลือตอนนี้ ต่อไปนี้เป็นไฟล์นักเทียบท่าจริงที่ล้มเหลว (มันช่างน่าเศร้าเหลือเกิน) FROM microsoft/windowsservercore SHELL ["Powershell"] ENV ChocolateyUseWindowsCompression …
12 docker  windows 

2
วิธีเรียกใช้คุณลักษณะนักเทียบเคียงรุ่นทดลองบน CircleCI
เมื่อเริ่มสร้างบน CircleCI สิ่งแรกที่ทำคือ: ติดตั้งเอ็นจิ้น Docker ระยะไกล Specified reusable docker engine, but build has not been whitelisted. Contact CircleCI to be whitelisted Allocating a remote Docker Engine ... Remote Docker engine created. Using VM 'prealloc-wrjtu1qd-1491949826270' Created container accessible with: DOCKER_TLS_VERIFY=1 DOCKER_HOST=tcp://<IP>:2376 DOCKER_CERT_PATH=/tmp/docker-certs615987123 DOCKER_MACHINE_NAME=51123 ต่อจากนั้นเมื่อdocker build --squash -t imagename .ถูกเรียกใช้บน CircleCI ผลลัพธ์จะเป็น: …

2
อะไรคือรูปแบบของ Ansible ที่เทียบเท่ากับ `--vault-password-file`?
ตามความช่วยเหลือของ ansible-playbook เราสามารถใช้--user=REMOTE_USERเพื่อกำหนดผู้ใช้ ssh แต่สามารถกำหนดได้ansible_ssh_user: REMOTE_USERใน host- หรือ group_vars คำถาม สิ่งที่จำเป็นต้องมีตัวแปรที่จะกำหนดไว้ในกลุ่มการอย่างใดอย่างหนึ่งหรือ host_vars ไดเรกทอรีเพื่อป้องกันการที่--vault-password-fileจะต้องมีการกำหนดไว้ในขณะที่ทำงานansible-playbook? ความพยายามในการ เมื่อansible_vault_password_file: ~/.vault_pass.txtมีการกำหนดไว้ในการกำหนดค่าการถอดรหัสล้มเหลว: ERROR! Decryption failed on /path/to/vault ไม่พบตัวแปร vault ที่เชื่อมโยงในเอกสารนี้
12 ansible 

1
เป็นไปได้ไหมที่จะเรียกใช้ฟังก์ชั่น AWS Lambda โดยตรงจากสัญญาณเตือน CloudWatch?
ปัจจุบันสำหรับการเรียกใช้ฟังก์ชั่นแลมบ์ดาตามการเตือนภัย CloudWatch ฉันจำเป็นต้องกำหนดเส้นทางการเตือนผ่าน SNS ดังนี้: AWS CloudWatch Alarm --> Send to a topic in SNS --> SNS topic triggers the lambda function ดังนั้นมีวิธีที่ฉันสามารถทำได้โดยตรงโดยไม่ต้อง SNS อยู่ตรงกลาง? [เหตุผล: จุดสัมผัสน้อยลงและการเพิ่มประสิทธิภาพเล็กน้อย] เหตุการณ์ CloudWatch เรียกแลมบ์ดา แต่ไม่มีวิธีที่ฉันสามารถกระตุ้นการเตือนผ่านมันได้ ตัวเลือกเดียวที่มีในเหตุการณ์ CloudWatch สำหรับ SQS คือ:

2
วิธีส่งการแจ้งเตือนเฉพาะในกรณีที่งานพิมพ์ไม่ว่างเปล่า
เรากำลังใช้ rundeck เพื่อสแกน logfiles สำหรับบริการและดำเนินการตามสิ่งที่พบที่นั่น โดยทั่วไปสำหรับการค้นพบแต่ละรายการซึ่งไม่มีเร็กคอร์ดที่เก็บ git จะถูกเตรียมใช้งานและมีการเรียกจุดสิ้นสุดที่เหลืออยู่สองสามจุด แต่นั่นไม่ใช่ประเด็น เรากำลังตั้งค่างานให้ทำงานตามกำหนดเวลาพูดทุกสองสามชั่วโมงและส่งการแจ้งเตือนเมื่อเกิดความล้มเหลวและนอกจากนี้เพื่อส่งการแจ้งเตือนเกี่ยวกับความสำเร็จก็ต่อเมื่อมีการดำเนินการอย่างน้อยหนึ่งครั้งเท่านั้น (เช่นเชลล์สคริปต์ในงานที่ป้อน ลูปอย่างน้อยหนึ่งครั้ง) สคริปต์ถูกเขียนเพื่อให้ปล่อยเอาต์พุตบน stdout เฉพาะเมื่อพบไอเท็มที่ต้องดำเนินการ มีวิธีในการตรวจสอบเพื่อเรียกการแจ้งเตือนด้วยข้อกำหนดนี้หรือไม่? หรือวิธีเขียนสคริปต์โดยไม่ต้องเขียนปลั๊กอินตั้งแต่ต้น? วิธีแก้ปัญหาหนึ่งที่เป็นไปได้คือการปิดทริกเกอร์การแจ้งเตือนความล้มเหลวและทำให้สคริปต์ส่งคืนค่าที่ไม่ใช่ศูนย์ในกรณีที่ไม่มีรายการใดดำเนินการ แต่ฉันไม่สะดวกในการทำเช่นนั้น

2
วิธีการใช้รูปแบบเซิร์ฟเวอร์ที่เปลี่ยนแปลงไม่ได้โดยไม่สูญเสียความสามารถในการทำ post-mortems?
รูปแบบเซิร์ฟเวอร์ที่ไม่เปลี่ยนรูปแบบนั้นเป็นระเบียบวินัยในการปรับใช้ซึ่งเอื้อต่อการทำซ้ำของการปรับใช้ มันโดดเด่นด้วยความจริงที่ว่า“ เซิร์ฟเวอร์ที่ครั้งหนึ่งเคยถูกนำไปใช้งานจะไม่ถูกปรับเปลี่ยน แต่ถูกแทนที่ด้วยอินสแตนซ์ที่ได้รับการอัพเดทใหม่ ” และการใช้ระเบียบวินัยนี้ต้องการระบบอัตโนมัติของการปรับใช้เซิร์ฟเวอร์ ระบบอัตโนมัตินี้มีข้อได้เปรียบในการดำเนินงานมากมายสิ่งหนึ่งที่สำคัญที่สุดคือช่วยให้สามารถเปลี่ยนอินสแตนซ์ที่ล้มเหลวได้อย่างรวดเร็วและเชื่อถือได้ในโครงสร้างพื้นฐาน ระบบอัตโนมัตินี้ยังแสดงให้เห็นว่าการปรับใช้เซิร์ฟเวอร์อธิบายโดยซอฟต์แวร์ที่เป็นเวอร์ชันและอยู่ภายใต้การปรับปรุงซ้ำ ๆ แง่มุมที่ได้รับความนิยมของการใช้งานของวินัยนี้คือการลบวิธีการเข้าถึงระยะไกลไปยังเซิร์ฟเวอร์เมื่อมีการเปิดตัว (โดยเฉพาะการลบการเข้าถึง SSH) การลบการเข้าถึงระยะไกลเป็นวิธีที่ง่ายเพื่อให้แน่ใจว่าการกำหนดค่าเซิร์ฟเวอร์ตรงกับการกำหนดค่าที่จัดทำโดยการปรับใช้แบบอัตโนมัติ อย่างไรก็ตามเมื่อตรวจสอบสาเหตุของความล้มเหลวของซอฟต์แวร์ในชันสูตรการพึ่งพาการตรวจสอบแบบมีโครงสร้างนั้นไม่เพียงพอเสมอไปและอาจจำเป็นต้องเข้าถึงเครื่องจากระยะไกล เป็นสถานการณ์ที่พบได้ทั่วไปที่การตรวจสอบเซิร์ฟเวอร์ไม่ครอบคลุมแหล่งที่มาของความล้มเหลวทั้งหมดหรือการตรวจสอบนั้นสามารถทำให้เกิดความเสียหายได้โดยความล้มเหลวของเซิร์ฟเวอร์เองซึ่งอาจเป็นไปได้ว่าหากเซิร์ฟเวอร์หมดหน่วยความจำ วิธีการใช้รูปแบบเซิร์ฟเวอร์ที่เปลี่ยนแปลงไม่ได้โดยไม่สูญเสียความสามารถในการทำ post-mortems?

3
จะป้องกันการปรับใช้ Ansible เพื่อลดอุบัติเหตุได้อย่างไร
เมื่อเร็ว ๆ นี้ Amazon S3 มีไฟดับครั้งใหญ่ในภูมิภาคตะวันออกเฉียงใต้ ดูเหมือนว่ามีสาเหตุมาจากข้อผิดพลาดในการสะกดคำเมื่อเรียกใช้ Playbook การบำรุงรักษาใน Ansible หรือเครื่องมือที่คล้ายกัน คุณสามารถใส่ shell สคริปต์ wrapper รอบ ansible-playbook ให้มีลักษณะดังนี้: #!/bin/bash /usr/bin/ansible-playbook "$@" --list-hosts --list-tasks read -p "Are you sure? (y/n) " answer test "$answer" = "y" || exit 0 exec /usr/bin/ansible-playbook "$@" แต่มีวิธีอื่นอีกบ้างที่คุณใช้ในการปรับปรุงความปลอดภัยและลดโอกาสที่จะเกิดข้อผิดพลาดซึ่งเป็นสาเหตุสำคัญของ บริษัท ของคุณ
12 ansible  process 

2
วิธีการใช้ Vagrant และ Docker-for-Windows บนระบบ Hyper-V
ย้อนกลับไปในวันนี้ฉันใช้VirtualBox (VB)และVagrant (V)เพื่อเรียกใช้ VMs ตั้งแต่ผมติดตั้งนักเทียบท่าสำหรับ Windows (DFW)และเรียกใช้ V, VB บ่นเกี่ยวกับHyper-V (HV) [user@localhost ~]$ vagrant up Stderr: VBoxManage.exe: error: VT-x is not available (VERR_VMX_NO_VMX) VBoxManage.exe: error: Details: code E_FAIL (0x80004005), component ConsoleWrap, interface IConsole แม้ว่าลิงค์นี้จะระบุว่า V รองรับ HV แต่ข้อความแสดงข้อผิดพลาดข้างต้นนั้นขัดแย้งกัน ทำไม VB จึงดูไม่เข้ากันกับ HV ทำไม V บอกว่ามันรองรับ HV และวิธีการป้องกันไม่ให้ HV นั้นต้องถูกปิดใช้งานเพื่อใช้ V …

2
วิธีการจัดเก็บความลับที่เข้ารหัสในรหัสสำหรับโครงการ serverless.com
ด้วย serverless.com วิธีที่ง่ายที่สุดในการเปิดเผยความลับต่อฟังก์ชั่น AWS Lambda คือเก็บไว้ในserverless.ymlไฟล์ (เข้ารหัสด้วย KMS เป็นต้น) แต่การยอมรับความลับที่เข้ารหัสไปยัง Git นั้นไม่ใช่สิ่งที่ดีที่สุดในโลก ต้องมีการเปลี่ยนแปลงรหัสเมื่อมีการเปลี่ยนแปลงความลับสำหรับสิ่งหนึ่ง แต่ในแง่ของความปลอดภัยเพียงอย่างเดียวทางเลือกที่ดีกว่าคืออะไร? เช่นความลับอาจถูกเก็บไว้ใน S3 (เข้ารหัส) โดยที่ Lambda ให้การเข้าถึงตำแหน่งนั้นและคีย์ KMS แต่จริง ๆ แล้วดีกว่าในทางที่มีความหมาย?

1
จะ จำกัด การเข้าถึงระบบไฟล์ใน Atlassian Bamboo ได้อย่างไร
เรามี Atlassian Bamboo ที่ทำงานบน Ubuntu เมื่อนักพัฒนาตั้งค่าการสร้างเขาหรือเธอมีความเป็นไปได้ที่จะเรียกใช้งานเชลล์สคริปต์ สิ่งนี้มีประโยชน์ในการรันคำสั่ง (กำหนดเอง) บนโค้ดเบสที่คุณกำลังสร้าง อย่างไรก็ตามสคริปต์ที่เรียกใช้ยังสามารถเข้าถึงระบบไฟล์นอกไดเรกทอรีงานได้ในไดเรกทอรีการทำงานของ Bamboo ( <Bamboo-home-dir>/xml-data/build-dir/JOB_KEY) ดังนั้น JOB_A ยังสามารถเข้าถึงไฟล์ของ cd ../JOB_BJOB_B: มีความเป็นไปได้ที่จะ จำกัด การเข้าถึงนี้หรือไม่? ป.ล. ฉันทราบถึงความจริงที่ว่าบิลด์ทำงานโดยเอเจนต์ (ท้องถิ่นหรือระยะไกล) ในแบมบูและคุณสามารถสร้างโปรเจ็กต์ที่แตกต่างกันโดยเอเจนต์ต่าง ๆ อย่างไรก็ตามหากโครงการสองโครงการสร้างขึ้นโดยตัวแทนเดียวกันโครงการสามารถเข้าถึงไฟล์ของกันและกันได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.