Search the Community
Showing results for tags 'git'.
-
Hi I understand many of you use Git and I've started to use it more lately in conjunction with Github and GitHub Desktop app. I was wondering what the best approach might be when you've built something you're happy with but then want to create 2 furthers versions of this. IE in terms of git and branches, would you create 2 further branches? Would you instead make 2 local clones of your repository? Lets call these versions Basic, Better and Best. My core product is a PHP page which pulls in JSON data. This Basic version is ready and I have a git repo and have been making commits to a branch called 'Dev'. I now want to create a version with enhanced features which uses the same PHP and JSON files but is called: Better and uses enhanced UI V2 more JSON data introduces some basic imagery Concurrently, I want to build Best which has enhanced UI V3 more JSON data introduces photography Thanks P
-
Hi I am a PW newbie and try to install RockMigrations. What I did until now: Fresh PW install. I pointed to Baumrocks RockMigration repo on github. There I clicked on Code, downloaded the main as zip. Then I extracted the zip, changed the folders name to RockMigrations and compressed it as Zip again. Then I uploaded it to PW (yes, debug and upload permitted;-). Everything seems to be ok, I can install Rock Migrations within PW and by doing that MagicPages and the RockMigrationsGUI modules are also installed. My system realesed this warning message: "InputfieldTinyMCETools: settingsFile - File does not exist - /SERVERPATH/site/modules/RockMigrations/TinyMCE/simple.json" out that all is installed in /SERVERPATH/site/modules/MagicPages and for RockMigrations not as expected in /SERVERPATH/site/modules/RockMigrations/ Does anyone have a hint for me? Thank you in advance.
-
I was going to start working on a new site for myself and wife (a new hobby we have taken up), and had decided to try out Runcloud and Digital Ocean. I got my drop set up on digital ocean, as well as setting up various hooks/databases etc between github and run cloud. However, now I have hit a wall. I cloned my "blank" repository into my local host (managed through MAMP) and dropped in a fresh install of PW, but now I have no idea of how to move forward. Is it best to just work locally, and then push this into a branch, and when ready, change branches and commit all to run cloud? Run cloud gives me an IP address to use for the database, but I can't get my localhost setup to recognize (I just get "Connection refused"). I am also unsure how to actually get my commits to push to run cloud, and handling the new set up. I am probably in over my head, but I thought I would try something new as a good learning experience. However, now I am just drowning . Hopefully someone has some ideas on how to approach this, as I am very eager to get under way.
-
Hi everybody, we started our first Processwire driven project in my new company and for the first time, I was working on one site with more than 2 colleagues on the same site. It didn't take long for us to stumble across some problems when multiple developers work at the same time, conflicts with updating the database on vagrant machines, like duplicate entries for page IDs, errors when setting up fields and stuff like this. We ended up working on a dedicated database server, that we linked to our vagrant machines and most of the problems were gone, but the performance of this constellation is really bad compared to our first approach with database running on vagrant machines. I already tried to find a solution in the forums but I couldn't find anyone with problems like this. So I was wondering: how do you manage projects with multiple developers on vagrant machines in a git-based workflow?
-
Hi, I'm a System Administrator responsible for DevOps in our Company. We're trying PW in a single client project atm and experience some glitches with DevOps-/Workflow. We have a small team of developers that need to work with the same code base. They all need to be able to develop locally and deploy to a preview/staging environment. Our Toolstack contains git for versioning, chef/vagrant or docker for local development/testing and Jenkins for building assets and automatic deployment to the staging-site. There's several challenges / glitches in this process that makes me think that ProcessWire hadn't been developed for a use case like ours and is much more intended to be used by single developers that work right on the production system. Can you advise me on a suitable workflow? There's problems with the assets/files dir that must be shared between the staging website and local environments of our developers. We're right now working with symlinks on the staging system that helps to preserve the direcory when deploying from the master branch. but now we tend to use nfs-shares so devs can collaborate with a shared directory. The local docker containers can use the same target (the nfs) from inside the containers. But is that the way it needs to be done? Really? There's so much work that needs to be done to fit ProcessWire in a DevOps Workflow that we tend to decide to switch to another CMS. Any suggestions or hints that i might have missed. Am I wrong or is PW really not meant to be used this way. I
- 6 replies
-
- 1
-
- deployment
- git
-
(and 2 more)
Tagged with:
-
I'm attempting to deploy my site via GIT from bitbucket through Runcloud. I've managed to connect the repo via a webhook and I'm able to pull whenever I commit from local, but I keep getting a "Targetted directory /home/runcloud/webapps/domainname is not a GIT directory inside Web Application thedjcompany" I've always deployed via a GUI but we've moved servers and I'm very experienced with GIT, nor do I have any experience with Runcloud, so I'm hoping someone here has some info and can point me in the right direction? I'm guessing that I have to initiate the GIT folder within the webapp folder itself but I wouldn't know the command line to get that started. Any info/advise would be very appreciated
-
Hey, Been using this starter theme for a little while now and thought I'd open it up on github - https://github.com/benbyford/bb-starter It has all my favourite modules installed, .less, some hany .js libraries and a set of blog templates for a simple news / blog setup. The theme is built on the simple theme from PW with additional setup. For more info see the Readme.md file on github. See it here - http://bbstarter.nicegrp.com/ Thanks everyone for your continued work and fun using PW.
-
I'm in no way a github guru, and I may be missing a lot about the implications of what I'm about to suggest, so please bear with me even if it's completely moronic. It's Christmas, after all When a PW site is installed, the original structure is destroyed. In other words, that neat looking .git directory becomes completely meaningless. On the other hand, the wire directory isn't ever touched and, as I see, upgrading PW is done exactly by replacing that directory (and the index.php file, though I believe that one hardly ever changes). So, the suggestion: Why not make the wire directory a separate github project, referenced from within ProcessWire as a submodule? Downloading PW would now take a git clone --recursive ... (I know, it's overbearingly complex) but upgrading would be super easy, just a single git command. For additional magic and peace of mind, index.php could be moved inside wire, and the original could be just one line to require it from there.
-
Hi! I want to start using Version Control during site development with PW, but I'm not sure how to do this, especially regarding the changes that don't happen in the filesystem but in the database. Any Recommendations?
-
Hello folks, I was working on different projects and needed to have a better way to organize my code and a workflow. And I came across this methodology https://about.gitlab.com/2014/09/29/gitlab-flow/ Here's a video explaining the workflow Hope it helps
-
Not sure i think its a good plan, but I was wondering what people thought about team PW making say having 4 people working on one site locally and how to keep copies up to date, or is this something that PW doesnt have problems with? for example Drupal has a features module: https://www.drupal.org/project/features just wondered what peoples thoughts were on this
-
- 1
-
- features module
- git
-
(and 2 more)
Tagged with:
-
Hello, So I'm working on a PW project in a shared hosting like Hostgator. For this to work you need ssh access, and of course git. I always have problems working with FTP, I feel my productivity decreases when using them, also you have no control over changes that are made. So a single file deletion could cause a big catastrophe. The first thing you have to do is cloning the PW repo, and checkout to dev branch Here we clone the repo, use the dev branch. Delete the entire PW git directory and initialize a new one $ git clone https://github.com/ryancramerdesign/ProcessWire/ $ cd ProcessWire $ git checkout dev $ rm -rf .git $ rm .gitignore $ git init $ git add . $ git commit -m "Initial Commit" Note: The file .gitignore from the dev branch have some files that you want to be commited, like /sites. I recommend deleting that file and create a new one. Ok, now we need to configure our remote repo inside the shared hosting. You need to login using a terminal. Linux and Mac have ssh already installed, if you are in Windows you can use Putty. ssh username@domain.com -p 2222 ... Enter your password: ********* Now we need to authorize our computer in the hosting, so we can push the commits. We need the contents of ~/.ssh/id_rsa.pub located our computer. A more complete guide for generating such keys is available here. Then we will copy the contents to ~/.ssh/authorized_keys. create the authorized_keys in the hosting if not exists using touch ~/.ssh/authorized_keys The next step is creating a new repo and configure some hooks in our server. $ mkdir www/processwire $ cd www/processwire $ git init $ git config receive.denyCurrentBranch ignore $ cd .git $ cd hooks $ touch post-receive The contents of post-receive hook should be. (this is a ruby script, but could be any language available on the server) #!/usr/bin/env ruby # post-receive # 1. Read STDIN (Format: "from_commit to_commit branch_name") from, to, branch = ARGF.read.split " " # 2. Only deploy if master branch was pushed if (branch =~ /master$/) == nil puts "Received branch #{branch}, not deploying." exit end # 3. Copy files to deploy directory deploy_to_dir = File.expand_path('../') `GIT_WORK_TREE="#{deploy_to_dir}" git checkout -f master` puts "DEPLOY: master(#{to}) copied to '#{deploy_to_dir}'" # 4.TODO: Deployment Tasks # i.e.: Run Puppet Apply, Restart Daemons, etc Now we make it executable using chmod $ chmod +x post-receive With all that done, we should enable a passwordless login so we can push without a password prompt on every push. In our local machine look for this file ~/.ssh/config And add this text (Change your-domain.com and port as needed) Host your-domain.com Port 2222 PreferredAuthentications publickey Now we should go to our project directory and add the remote host with $ git remote add hosting user@domain.com:www/processwire $ git push --set-upstream hosting master This should do the trick for commiting changes and upload files without ftp. Now we must install Processwire and then pull the changes. Go to your domain and start PW setup. once you are ready installing processwire, you need to pull changes that PW installer made. Login to your hosting via ssh and commit the changes that installer made. $ ssh user@domain.com $ cd www/processwire $ git rm $(git ls-files --deleted) $ git add . -f $ git commit -m "Initial PW Setup" When that is ready go back to your local machine and pull the repo. $ cd Processwire $ git fetch $ git reset --hard hosting/master Now we are finally ready to start working with PW in shared hosts or other machines that have ssh enabled. simply makes changes like $ touch site/templates/welcome.php $ git add . $ git commit -m "Added welcome.php" $ git push Now if you have some problems you can zip the setup using $ git tag -a v0.0.1 -m "Initial PW Setup" $ git archive --format=zip --output=pw.zip v0.0.1 And download the file and work from there Thats all References: http://www.arlocarreon.com/blog/git/push-git-repo-into-shared-hosting-account-like-hostgator/ http://ahmadassaf.com/blog/miscellaneous/how-to-use-git-to-host-and-push-projects-on-shared-hosting-services/ http://motorscript.com/setting-up-a-remote-git-repo-on-shared-server-like-hostgator/ http://krisjordan.com/essays/setting-up-push-to-deploy-with-git http://git-scm.com/book/en/Customizing-Git-Git-Hooks
-
I have created my .gitignore file at the root, alongside my .git folder. But when I run $git status it shows modified: .gitignore And beneath that, it shows the files that have been modified and are supposed to be ignored. I've looked on StackOverflow earlier but couldn't find anything that worked. Here's the content of my file: /site/assets/cache/* site/assets/cache/* site/assets/cache/ /site/assets/sessions/* site/assets/sessions/* site/assets/sessions/ /site/assets/logs/* site/assets/logs/* site/assets/logs/ /site/config.php site/config.php project.sublime-workspace project.sublime-project
-
Hi folks, I downloaded PW from its git repo on GitHub. I set up a private repo at Bitbucket to check in and store my local changes. Problem is, .gitignore (from PW's master repo) tells git to ignore site/ (which makes sense for the core application), but that's what I want to track and push to my private repo. I'd like to keep the PW core in git so I can pull updates from GitHub. Anyone have a solution to this? Thanks!
-
Hello All! I would like to ask you how you manage to work in a team on a processwire project. This also applies to the case when you develop on different machines (e.g. laptop on the train and desktop office pc). For example: two different developers create 2 templates with various fields, then they push/commit their changes to a repository. both can update and merge the changes. but: to make the fields and templates available in the backend you still would have to add the database entries to the "fields" and "template" tables, right? What are solutions and best practices for team development? Thank you and keep on wiring!
-
Hey guys, I've created an initial ProcessWire bootstrap repository if any of you want to use it. Try this, branch it out, do whatever you want with it. https://bitbucket.org/thatgibbyguy/base_html5_processwire The features of this bootstrap are: HTML5 Boilerplate Modernizr/HTML5 Shiv Javascript Libraries: Twitter Bootstrap Javascript Library jQuery-1.8.2 jQueryUI-1.9.1 jQuery.fittext.js jQuery.mobile-1.20 jQuery.scrollto-1.4.3.1 retina-0.0.2 CSS/LESS Frameworks: font-awesome (not 3.0 yet) KUBE Grid (in LESS) Twitter Bootstrap Library (in LESS - library.less) Base LESS file (style.less) Key changes to Ryan's initial download are just that I took each one of his calls and abstracted them out as includes. So Ryan's functionality has been abstracted into the following includes: Breadcrumbs -> breadcrumb.inc Page Titles -> pagetitle.inc Random Image -> randomimage.inc Search -> search.inc Sidebar -> sidebar.inc For example, to add the breadcrumbs to your site, simply include it in your markup like so: Also included is Soma's Markup Simple Module.
-
I store each of my PW projects in separate repos. When it comes to updating the version of PW used for a project, I'm sure there has to be an easy way to merge the master or dev branch of the PW repo into am update branch of the current project's repo. I already added the PW repo as remote source. But as I'm far from being a git pro, I haven't found the right way to do an update appropriately without getting everything messed up. It would be great if one or two of you guys would sketch their approach to updating a PW installation using git and github in a few words.
-
As a general rule of thumb, is it recommended to keep ones copy of PW up-to-date via pulls off git, or, is it better to wait for an announcement that a new version is ready to u/g to? And if the latter, where does one subscribe to ensure one is notified when official version changes occur? Please and thanks!