Jump to content

Search the Community

Showing results for tags 'bitbucket'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Welcome to PHP Freaks
    • Announcements
    • Introductions
  • PHP Coding
    • PHP Coding Help
    • Regex Help
    • Third Party Scripts
    • FAQ/Code Snippet Repository
  • SQL / Database
    • MySQL Help
    • PostgreSQL
    • Microsoft SQL - MSSQL
    • Other RDBMS and SQL dialects
  • Client Side
    • HTML Help
    • CSS Help
    • Javascript Help
    • Other
  • Applications and Frameworks
    • Applications
    • Frameworks
    • Other Libraries
  • Web Server Administration
    • PHP Installation and Configuration
    • Linux
    • Apache HTTP Server
    • Microsoft IIS
    • Other Web Server Software
  • Other
    • Application Design
    • Other Programming Languages
    • Editor Help (PhpStorm, VS Code, etc)
    • Website Critique
    • Beta Test Your Stuff!
  • Freelance, Contracts, Employment, etc.
    • Services Offered
    • Job Offerings
  • General Discussion
    • PHPFreaks.com Website Feedback
    • Miscellaneous

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests


Age


Donation Link

Found 2 results

  1. Hey y'all - I have a quick question. [edit - As I type, it's becoming a not-so-quick question. Sorry about that, but I'd very much appreciate any input.] At work (we're on osX) we've recently switched to using Bitbucket with SourceTree for our version control system. I've got many project directories, already populated with working files. They're under SVN control, but honestly our SVN repo is a bit of a mess and I'm hoping to start over. My process for creating GIT repositories for each of these project directories using SourceTree is as follows: In the bookmarks window that pops up when I launch SourceTree, I click '+ New Repository' > 'Create Local Repository', then I use finder to navigate to the populated project directory and select it. I click 'Create Remote Repository', then click 'Create' to create the local repo. After filling out the remote repository owner and description, and marking it private, I click 'Create'. Then, in the browser window for the newly created repository that appears when I double click on the bookmark, I stage all the files in the local project directory and commit them. I then push that to the remote master branch. My question is this - is using the SourceTree 'Create Local Repository' option as described above equivalent to using the terminal window and 'git init' in the project directory? Everything seems to be working correctly (I've successfully committed and pushed files to the remote repositories), but I've only been using this setup for 2 days and haven't done any real heavy lifting with it yet - no branching or merging or anything of the sort. I have successfully cloned one of the repos on a secondary system, but haven't had a chance to make changes on that secondary system and commit then push them to make sure everything is actually working correctly. It certainly seems like all is well, and I have done more thorough testing on my home system, but that's a Windows box and the Windows version of SourceTree is quite different from the Macintosh version. Really, I decided to go with ST because I just don't like the command line and the price was right (free), and I'm trying to learn it as I go. I just don't want to be five or six months down the line and have to make a major change to a project only to discover that I messed up something very simple with the repository initialization and nothing's working like it should... Hopefully this is a dumb question and I'm just being paranoid, but I'd very much appreciate any input anyone with SourceTree experience has and is willing to offer.
  2. I'm in the process of trying to set up automatic deployments when I make a git push to my bitbucket repository. I have a php deploy script that I leveraged from http://brandonsummers.name/blog/2012/02/10/using-bitbucket-for-automated-deployments/ but when the script runs it is logging that it's only updating from a previous commit. Here is an example. Let say I log into my server and type git pull. The server will update with the latest changes and lets say the hash for that commit was 001. However if I make serveral commits lets call them 002, 003, and 004 my script should run every time assuming I pushed those changes to bitbucket after every commit. The script runs but every time it will keep the changes from 001. Only when I log into my server and type git pull, will the server update to 004. Do you know what would cause this? <?php $ajax = true; include('assets/init.inc.php'); // date_default_timezone_set('America/Los_Angeles'); // Also, this Class is not very secure... $path = dirname(__FILE__); class Deploy { /** * A callback function to call after the deploy has finished. * * @var callback */ public $post_deploy; /** * The name of the file that will be used for logging deployments. Set to * FALSE to disable logging. * * @var string */ private $_log = 'deployments.log'; /** * The timestamp format used for logging. * * @link http://www.php.net/manual/en/function.date.php * @var string */ private $_date_format = 'Y-m-d H:i:sP'; /** * The name of the branch to pull from. * * @var string */ private $_branch = 'Master'; /** * The name of the remote to pull from. * * @var string */ private $_remote = 'origin'; /** * The directory where your website and git repository are located, can be * a relative or absolute path * * @var string */ private $_directory; /** * The IP address from where BitBucket will be sending the IP address (Davey) * * @var string */ private $_ip = '63.246.22.222'; /** * The IP address from where BitBucket will be sending the IP address (Davey) * * @var string */ private $_request_method = 'POST'; /** * Error variable for processing * * @var bool */ private $_error = false; /** * Sets up defaults. * * @param string $directory Directory where your website is located * @param array $data Information about the deployment */ public function __construct($directory, $options = array()) { $this->log('Starting...'); if (stripos($this->_request_method, $_SERVER['REQUEST_METHOD']) === false) { $this->_error = true; $this->log('Request method "'.$_SERVER['REQUEST_METHOD'].'" is not valid', 'ERROR'); } else { $this->log('Request method "'.$_SERVER['REQUEST_METHOD'].'": passed. Checking IP...'); if (!empty($_SERVER['REMOTE_ADDR'])) { if (strlen($this->_ip) > 0) { if (stripos($this->_ip, $_SERVER['REMOTE_ADDR']) !== false) { $this->log('IP "'.$_SERVER['REMOTE_ADDR'].'": passed. Continuing... '); } else { $this->_error = true; $this->log('This ip "'.$_SERVER['REMOTE_ADDR'].'" is not allowed', 'ERROR'); } } if ($this->_error !== true) { // Determine the directory path $this->_directory = realpath($directory).DIRECTORY_SEPARATOR; $available_options = array('log', 'date_format', 'branch', 'remote'); foreach ($options as $option => $value) { if (in_array($option, $available_options)) { $this->{'_'.$option} = $value; } } $this->log('Attempting deployment...'); } } else { $this->log('Missing REMOTE_ADDR', 'ERROR'); } } } /** * Writes a message to the log file. * * @param string $message The message to write * @param string $type The type of log message (e.g. INFO, DEBUG, ERROR, etc.) */ public function log($message, $type = 'INFO') { if ($this->_log) { // Set the name of the log file $filename = $this->_log; if ( ! file_exists($filename)) { // Create the log file file_put_contents($filename, ''); // Allow anyone to write to log files chmod($filename, 0666); } // Write the message into the log file // Format: time --- type: message file_put_contents($filename, date($this->_date_format).' --- '.$type.': '.$message.PHP_EOL, FILE_APPEND); } } /** * Executes the necessary commands to deploy the website. */ public function execute() { try { // Make sure we're in the right directory exec('cd '.$this->_directory, $output); $this->log('Changing working directory... '.implode(' ', $output)); // Discard any changes to tracked files since our last deploy exec('git reset --hard HEAD', $output); $this->log('Reseting repository... '.implode(' ', $output)); // Update the local repository exec('git pull '.$this->_remote.' '.$this->_branch, $output); $this->log('Pulling in changes... '.implode(' ', $output)); // Secure the .git directory exec('chmod -R og-rx .git'); $this->log('Securing .git directory... '); if (is_callable($this->post_deploy)) { call_user_func($this->post_deploy, $this->_data); } $this->log('Deployment successful.'); } catch (Exception $e) { $this->log($e, 'ERROR'); } } } // This is just an example $deploy = new Deploy('/var/www/trekeffect.com/trekeffect.com'); // $deploy->post_deploy = function() use ($deploy) { // hit the wp-admin page to update any db changes // exec('curl http://www.foobar.com/wp-admin/upgrade.php?step=upgrade_db'); // $deploy->log('Done.'); // }; // file_put_contents("{$GLOBALS['path']}/deployments.log", date('c'), FILE_APPEND); $deploy->execute(); ?>
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.