সমস্ত সাধারণ পিএইচপি / ওয়ার্ডপ্রেস সংস্করণ সংমিশ্রণ সেটআপ করার জন্য ভ্যাগ্রান্ট স্ক্রিপ্ট


9

আমি আমাদের প্লাগইনটির জন্য টেস্টিং / ডিবাগিং পরিবেশটি দ্রুত এবং বারবার সেট আপ করার একটি উপায় সন্ধান করছি , সম্ভবত ভ্যাগ্র্যান্ট ব্যবহার করে । ভিভিভি -র মতো প্রকল্পগুলি একক-পরিবেশের সেটআপে (বা স্থিতিশীল / ট্রাঙ্কের মতো কয়েকটি পরিবেশ) ফোকাস করে যখন আমি যা খুঁজছি সেগুলি এমন একটি স্ক্রিপ্ট যা পরিবেশ স্থাপনের মতো হবে:

  • wp39-php52.local
  • wp40-php52.local
  • wp41-php52.local
  • wp39-php53.local
  • wp40-php53.local
  • ইত্যাদি (আপনি ধারণা পেতে পারেন)

এমন কি আছে? আমার সর্বাধিক নিকটতমটি হ'ল ওয়ার্ডপ্রেস ভ্যাগ্র্যান্ট বক্সস যা কমপক্ষে পিএইচপি সংস্করণগুলি করে তবে আরও কিছু সম্পূর্ণ রয়েছে যা মিক্সারে ওয়ার্ডপ্রেস সংস্করণ যুক্ত করে। ধন্যবাদ।


আপনি সম্ভবত ট্র্যাভিস সিআইয়ের সাথে পরিচিত । এমন একটি স্ক্রিপ্ট রয়েছে যা আপনাকে আপনার ট্র্যাভিস বিল্ডে ওয়ার্ডপ্রেস এবং পিএইচপি-র বিভিন্ন সংস্করণের বিরুদ্ধে পরীক্ষা করতে দেয় । অবশ্যই, স্থানীয়ভাবে এই জাতীয় কিছু সেট আপ করতে সক্ষম হওয়া কিছু ডিবাগিংয়ের উদ্দেশ্যে ভাল। আমি কোনও ভ্যাগ্র্যান্ট স্ক্রিপ্ট জানি না। আমি জানি যে ট্র্যাভিস phpenvবিভিন্ন পিএইচপি সংস্করণ পরিচালনা করতে ব্যবহার করে। হতে পারে এর সংমিশ্রণ এবং পুরো ওয়ার্ডপ্রেস রেপোর (যা এর অধীনে সমস্ত সংস্করণ /tagsথাকবে) এর একটি এসভিএন চেকআউট শুরু হবে?
জেডি

1
ডকারের কী হবে ? আপনি বিভিন্ন পরিবেশের সাথে চিত্রগুলি তৈরি করতে পারেন এবং তারপরে নির্দিষ্ট ডকফিলফিলসের সাথে পাত্রে তৈরি / চালাতে পারেন
রাফওয়াহস

@ আরাফাহস ইয়েপ ডকার আমি আজকে বিবেচনা করব।
বোরেক বার্নার্ড

উত্তর:


1

ওয়ার্ডপ্রেস বিষয়গুলিতে, বেসিক ওয়ার্ডপ্রেস ভ্যাগ্র্যান্ট এনভায়রনমেন্ট যে কোনও ওয়ার্ডপ্রেস সংস্করণ (সামান্য সাহায্যে) নিয়ে কাজ করতে প্রস্তুত। আপনার এখনও পিএইচপি কনফিগার করার উপায় খুঁজে বের করতে হবে তবে একটি ইঙ্গিত রয়েছে https://github.com/ideasonpurpose/basic-wordpress-box/blob/master/ansible/roles/php/tasks/php.yml

এটি বাক্সের বাইরে ব্যবহার করতে; প্রজেক্টটি ডাউনলোড বা ক্লোন করুন wplatest-php55.dev/এবং চালানvagrant up

ভ্যাগ্র্যান্ট হোস্ট ম্যানেজার ইনস্টল করা আপনার ফোল্ডারে স্বয়ংক্রিয়ভাবে আইপিটিকে সংযুক্ত করবেhttp://wplatest-php55.dev/

ইনস্টল- wp.sh এর মাধ্যমে ডাব্লুপি সংস্করণ থেকে একাধিক পরিবেশ তৈরি করুন

সম্ভাব্য ওয়ার্ডপ্রেস সংস্করণগুলির জন্য সংরক্ষণাগারটি পরীক্ষা করুন https://wordpress.org/download/release-archive/

# PWD (script directory)
# ├── common_folder
# ├── wp39-php55.dev
# │   └── site/common_folder
# ├── wp42-php55.dev
# │   └── site/common_folder
# └── wp431-php55.dev
#     └── site/common_folder

এখানে এমন একটি স্ক্রিপ্ট রয়েছে যা বাঘ স্ক্রিপ্টের ডিরেক্টরিতে ভ্যাগ্রান্ট এনভায়রনমেন্ট মাস্টারকে টানতে পারে, অ্যারের প্রতিটি সংস্করণের জন্য একটি সাইটকে ক্লোন করে, সেই ডাব্লুপি সংস্করণটি ব্যবহারের জন্য ইনস্টল টাস্কটি কনফিগার করে এবং আপনাকে আগে সমস্ত সাইটে অনুলিপি করার জন্য একটি ফাইল / ফোল্ডার নির্দিষ্ট করার অনুমতি দেয় আপনি vagrant up

এটি একটি ফাইলে রাখুন এবং এটিকে এক্সিকিউটেবল করার জন্য install-wp.shচালান chmod +x install-wp.sh। আপনি যেখানে এই সমস্ত বাক্স তৈরি করতে এবং চালাতে চান সেখানে একটি ফোল্ডার সন্ধান করুন ./install-wp.sh। এটি উপরের কাঠামোটি তৈরি করবে।

আপনি সমস্ত সংস্করণ একই ডিরেক্টরির মধ্যে একটি ফোল্ডার হিসাবে স্ক্রিপ্টটি আপনার প্লাগইন পরীক্ষা করতে চান যেহেতু wp-content/plugins/your-pluginতারপর চালানো install-wp.sh wp-content। ফাইল / ফোল্ডারটি প্রতিটি সাইটের মূলকে অনুলিপি করা হয় যার জন্য আমি পরামর্শ দিই wp-content

install-wp.sh

#!/bin/bash
#
# Author: Jesse Graupmann @jgraup - http://www.justgooddesign.com - 2015
#
# Create multiple WordPress sites based on version numbers in array.
#
# ( OPTIONAL )
#   Copy common file/folder to all sites - Pass as parameter $1
#
# Each site runs in a Vagrant Environment:
#   https://github.com/ideasonpurpose/basic-wordpress-vagrant
#
# Best if used with:
#   https://github.com/smdahlen/vagrant-hostmanager
#
# PWD (script directory)
# ├── common_folder
# ├── wp39-php55.dev
# │   └── site/common_folder
# ├── wp42-php55.dev
# │   └── site/common_folder
# └── wp431-php55.dev
#     └── site/common_folder

# WordPress Versions
versions=( 3.9 4.2 4.3.1 )

# Move to the current directory
base=$(pwd); cd $base

# Vagrant Environment
remote_master="https://github.com/ideasonpurpose/basic-wordpress-vagrant/archive/master.zip"
vagrant_master_zip=$base/basic-wordpress-vagrant.zip

# Download Latest Environment - overwrite file for latest
wget -v -O $vagrant_master_zip $remote_master

# Loop through version #s
for VERSION in "${versions[@]}" ; do

flatv="${VERSION//.}"
dirname=wp$flatv-php55.dev

# Clone Environment
echo -e "\nCloning to: $base/$dirname\n"
mkdir -p $base/$dirname
tar -zxvf $vagrant_master_zip -C $base/$dirname --strip-components=1

# WordPress Versions
# Archives:  https://wordpress.org/download/release-archive/
# Version:  https://wordpress.org/wordpress-{{ wp-version }}.tar.gz
# Latest: https://wordpress.org/latest.tar.gz

# Path to Ansible task
yml=$(cat $base/$dirname/ansible/roles/wordpress/tasks/install.yml)

### REPLACE THE ANSIBLE WP VERSION w/OUR VERSION
wp_url_latest="https:\/\/wordpress.org\/latest.tar.gz"
wp_url_version="https://wordpress.org/wordpress-$VERSION.tar.gz"

echo "${yml/$wp_url_latest/$wp_url_version}" > $base/$dirname/ansible/roles/wordpress/tasks/install.yml

# (OPTIONAL) Copy common file/folder to all sites!
# pass as argument to .sh
#
# Example Folder:
# Make a common wp-content folder, then run install with
#
#   ./install-wp.sh wp-content
#
# Example File:
# Make a text file, then run install with
#
#   ./install-wp.sh my_file.txt
#
common_dest=$base/$dirname/site/

# Copy Folder
if [ -d "$1" ]; then
  echo "Copying $1 --> $common"
  # Directory must exist
  if [ -d "$1" ]; then
    folder_name=$(basename $1)
    mkdir -p $common_dest/$folder_name;
  fi
  cp -r $1 $common_dest

# or File
elif [ -f "$1" ]; then
  echo "Copying $1 --> $common_dest"
  file_name=$(basename $1)
  cp $1 $common_dest/$file_name
fi

## Create doc for quick glance at version number
dest="$base/$dirname"
remotewpzip="https://wordpress.org/wordpress-$VERSION.tar.gz"
txt=$dest/download-wp-$VERSION.txt
touch $txt
printf "WordPress Version: $VERSION - https://wordpress.org/download/release-archive/\n\nDownload Zip: $remotewpzip\n" > $txt

done

# The rest is just for show

echo -e "\nDone!\n\nNow just run 'vagrant up' in any of these:\n"

for VERSION in "${versions[@]}" ; do
  flatv="${VERSION//.}"
  dirname=wp$flatv-php55.dev
  echo -e "\t"$base/$dirname "\thttp://"$dirname
done

echo -e "\nMore Vagrant env info @ https://github.com/ideasonpurpose/basic-wordpress-vagrant"
echo -e "Best if used with https://github.com/smdahlen/vagrant-hostmanager\n\nENJOY!"

হালনাগাদ:

এটি বেসিক ওয়ার্ডপ্রেস ভ্যাগ্র্যান্ট এনভায়রনমেন্ট একাধিক পিএইচপি সংস্করণগুলি হ্যান্ডেল করার জন্য সত্যই সেটআপ নেই তবে আপনি পিএইচপি টাস্ক সামঞ্জস্য করলে বেসিক ওয়ার্ডপ্রেস বাক্সটি হতে পারে । আমি অনুভব করেছি যে আমি এমন একটি স্ক্রিপ্টের শেল ছেড়ে যাব যা একাধিক পিএইচপি সংস্করণ পরিচালনা করতে পারে।

#!/bin/bash
############################################
#
# PWD (script directory)
# ├── wp39-php55.dev
# ├── wp42-php55.dev
# └── wp431-php55.dev
#
############################################

# WordPress Versions

versions=( 3.9 4.2 4.3.1 )

# PHP Versions

pversions=( 5.4 5.5 5.6 )

############################################

# Move to the current directory

base=$(pwd); cd $base

############################################

# PHP Loop
for PVERSION in "${pversions[@]}" ; do
    pflatv="${PVERSION//.}"

    echo -e "==> PHP: $PVERSION\n"

    # WordPress loop
    for VERSION in "${versions[@]}" ; do
        flatv="${VERSION//.}"

        ############################################
        dirname=wp$flatv-php$pflatv.dev 
        ############################################

        # Environment
        echo -e "\t"$base/$dirname "\thttp://"$dirname 

        mkdir -p $base/$dirname

        ############################################

        # WordPress Versions
        # Archives:  https://wordpress.org/download/release-archive/
        # Version:  https://wordpress.org/wordpress-{{ wp-version }}.tar.gz
        # Latest: https://wordpress.org/latest.tar.gz

        ############################################

        wp_url_latest="https:\/\/wordpress.org\/latest.tar.gz"
        wp_url_version="https://wordpress.org/wordpress-$VERSION.tar.gz"

        # Download WP

        echo -e "\tDownload WP: $wp_url_version"

        ############################################

        # PHP Packages at https://launchpad.net/~ondrej
        # You can get more information about the packages at https://deb.sury.org
        # For PHP 5.6 use: ppa:ondrej/php5-5.6
        # For PHP 5.5 use: ppa:ondrej/php5
        # For PHP 5.4 use: ppa:ondrej/php5-oldstable

        ############################################

        # Config PHP

        echo -e "\tConfigure PHP: $PVERSION\n"

    done # WordPress version
done # PHP version

exit 1

0

আপনি কি এই দিকে তাকিয়েছেন?

puphpet

যদি আপনাকে কনফিগার ফাইল তৈরি করতে সহায়তা করে বলে মনে হয়। দেখে মনে হচ্ছে আপনি একাধিক vhosts সেট আপ করতে পারেন এবং এটি পোস্ট-ইআর পরে কাস্টম কমান্ডগুলি কার্যকর করতে পারেন। সুতরাং আপনি এটি সমস্ত ফোল্ডার, হোস্ট এবং ডাটাবেস সেট আপ করতে এবং তারপরে সম্পর্কিত ডাব্লুপি-কনফিগারেশন ফাইলগুলির সাথে আপনার কাঙ্ক্ষিত সংস্করণগুলি অনুলিপি করতে পারেন? প্রাথমিকভাবে সামান্য সেট আপ, তবে কাজ করতে পারে।

আমি নিজেই একটি শেল স্ক্রিপ্ট ব্যবহার করি। wp-install www.domain.com

বর্তমানে কেবল একটি ইনস্টলের জন্য কাজ করে তবে এটি কনফিগার করা অসম্ভব নয় কিছু যুক্তি বা একটি অতিরিক্ত 'কনফিগারেশন' ফাইল গ্রহণ করে একাধিক vhosts সেট আপ করুন। যেমন আপনি ভ্যাগ্রান্টের কথা উল্লেখ করেছেন, আমি ধরে নেব যে উপরেরগুলি আপনার প্রয়োজনগুলি পূরণের নিকটেই রয়েছে।

শুভকামনা!


যদি আমি ভুল না হই তবে পিএইচপিপেট পিএইচপি 5.2 এবং 5.3 করতে পারে না তাই এটি সর্বদা পরীক্ষার পরিবেশ হিসাবে সীমাবদ্ধ থাকবে।
বোরেক বার্নার্ড

0

এটি আপনি কী ব্যবহার করতে চান এবং কী ধরণের ওএস দিয়ে আপনি বিকাশ করবেন তার উপর নির্ভর করে ...

অসম্পূর্ণদের জন্য, ভিভিভি দিয়ে সেট আপ করার জন্য এখানে অটোমেশন রয়েছে: https://github.com/bradp/vv

এবং আরও কয়েকজন যোনিতে নির্মিত:
https://github.com/vagrantpress/vagrantpress
https://github.com/tierra/wp-vagrant

যাইহোক, আমি চেষ্টা আউট করার পরামর্শ দিই প্যান্থিয়নের । এটি আপনাকে নিখরচায় এগুলি করতে দেয় এবং ডাব্লুপি-ক্লিপ, গিট, বেহাত ইত্যাদির সাথে একীকরণ করতে পারে other এমন আরও কিছু হোস্টেড প্ল্যাটফর্ম রয়েছে যেগুলিতে এই বৈশিষ্ট্যগুলি যেমন https://www.appfog.com/ এবং এমনকি আমার বিশ্বাস WPEINGE রয়েছে।

এটি শুরু থেকে আপনি কত সেট আপ করতে চান তার উপর নির্ভর করে। আপনি যদি কেবল ওয়ার্ডপ্রেস সেটআপ করার দ্রুত উপায়ের সন্ধান করতে থাকেন তবে গিথুবটিতে এই জাতীয় প্রচুর পরিমাণে স্ক্রিপ্ট রয়েছে বা কেবল ডাব্লুপি-ক্লিপ ব্যবহার করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.