浏览代码

Automation for composer authentication at repo.magento.com

Setup script will ask you to instert repo.magento.com username (public_key) and password (private_key). Inserted authentication data will be placed to container's composer config and initial installation performed withuout issues. Also it is possible to save authentication data to host's composer config (optionaly).
Dmitry Shkoliar 6 年之前
父节点
当前提交
6e9cfe6379
共有 1 个文件被更改,包括 30 次插入0 次删除
  1. 30 0
      compose/magento-2/bin/setup

+ 30 - 0
compose/magento-2/bin/setup

@@ -19,6 +19,36 @@ bin/copytocontainer --all
 
 bin/clinotty chmod u+x bin/magento
 
+if hash composer 2>/dev/null; then
+    PUBLIC_KEY="$(composer config -gl | grep '\[http-basic.repo.magento.com.username\]' | cut -c40-)"
+    PRIVATE_KEY="$(composer config -gl | grep '\[http-basic.repo.magento.com.password\]' | cut -c40-)"
+fi
+
+if [ -z "$PUBLIC_KEY" ] || [ -z "$PRIVATE_KEY" ]; then
+    exec < /dev/tty
+    echo
+    echo
+    echo "    Authentication required (repo.magento.com, public_key and private_key):"
+    read -p "        Username: " PUBLIC_KEY
+    read -p "        Password: " PRIVATE_KEY
+    echo
+    if [ -n "$PUBLIC_KEY" ] && [ -n "$PRIVATE_KEY" ] && hash composer 2>/dev/null; then
+        read -p "    Add authentication information to host composer config? y/n: " ADD_AUTH
+        echo
+        if [[ $ADD_AUTH =~ ^[Yy]$ ]]; then
+            composer global config http-basic.repo.magento.com $PUBLIC_KEY $PRIVATE_KEY
+        fi
+        ADD_AUTH=''
+    fi
+    exec <&-
+fi
+
+if [ -n "$PUBLIC_KEY" ] && [ -n "$PRIVATE_KEY" ]; then
+    bin/clinotty composer config http-basic.repo.magento.com $PUBLIC_KEY $PRIVATE_KEY
+    PUBLIC_KEY=''
+    PRIVATE_KEY=''
+fi
+
 echo "Forcing reinstall of composer deps to ensure perms & reqs..."
 bin/clinotty composer install