Automatic FTP deploy: is there any automatic / programmable tool available? [closed] - ftp

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 6 years ago.
Improve this question
I need this
Watch a dir content
When dir content change
delete a specific ftp folder
upload all dir content to the same ftp folder
I'm totally unaware of best way to accomplish this task.
I'm looking for suggestions / ideas.... gulp? grunt? node? nope :) ?
Actually I know no build tools. So before try/fault with every single options I ask you for suggestions.
EDIT: Please take note that I'm asking for a Continuos Deployment tool able to watch for file changes and to upload to FTP.
I cannot choose to change FTP ... I'd only change job

What you need is a Continuous Deployment solution. FTP is not necessarily what needs to be done. You haven't mentioned a technology stack, but if you were (for example) working in Visual Studio, you can easily setup continuous deployment to an app service through Azure integrations. That way, whenever you have the project open in VS, if you make code changes and save them they are uploaded to your app.
You can read about app service CD on Azure here
There are, of course, many different continuous deployment solutions available to you. This was a specific example I'm a little more well versed with. Here is a list of other solutions, each with their own sets of functionality. If you do your research, I'm sure you'll find what you need (rather than write a script to do the directory monitoring and FTP for you)

The user case you have described is unique, thus you will not find an already build solution where you can simple run it and be done. You will need to create your own.
Watch directory.
This can be translated into "your code needs to be aware of file upload". This can be achieved via "notification" being pushed onto your code or your code pulls "notification" on its own.
Sadly, push from FTP Server will not work, as (to my knowledge) no FTP Server supports a push notification on file upload. To understand what I mean here, think of SVN post-commit hook.
The easiest to make pull is to tail FTP Log and look for STOR command, match your watch directory (via regexp) and on match execute bash/PHP or any other script to make step (2). Step (2) is a handful of ftp client commands.
For PHP:
Remove directory: http://ee1.php.net/manual/en/function.ftp-rmdir.php
Upload a file (in comments there are recursive examples to upload directory and
it's content): http://ee.php.net/manual/en/function.ftp-put.php

Related

VScode: how to setup for local edit and ftp-deplyment

I used to use Dreamweaver. I've a huge Classic ASP website. I edit the files on my local system, and when done, I can upload the file(s) via ftp to the remote webserver. Now, I try to switch to VSCode. I've installed ftp-simple, ftp-sync and deploy. But can't find the set-up to get a Dreamweaver like behaviour. Eg, I have to locate for each file I want to upload/deploy, the exact location in the remote file tree.
I really feel like deploy deserves more attention. I spent the past 4 days or so to find an extension that does just that. Auto-upload to an ftp-folder from a local folder. I wanted to make git work for my website, but couldn't get that to work on the server with ftp-simple or ftp-sync because those extensions only download the opened files or open in a different temporary folder each time. I set up deploy now and got exactly what I wanted thanks to your tiny comment, thank you!
(I'm sorry if this post is too old to comment on, but I browsed Stack overflow for days to find this, so I thought it might help others in the future to point this out.)
it sounds like your just missing your mapping configuration. Most text editor FTP packages include a configuration file where you specify the server, your credentials, and the root folder of your ftp server. Have you specified this?

Scripting Trac installation on Windows

I'm currently working on some R&D for improving the process and practice that we approach development.
As a first iteration something I'd like to do is develop an easy way to set up a project e.g. Run an ant script that will, when provided with a project name etc,
Copy a template in svn
Create a database (if needed)
Automatically update the connection strings in config/properties files
Create an instance of trac
Email the user with all this information
I'm fine with the first 4 but I'm struggling to get a good process together for setting up Trac.
I've done it manually before but found it incredibily difficult.
Does anyone know of such a set up script or have any tips on doing this?
Cheers,
Rob
Have you looked at bitnami?
See the Trac bitnami bundle for example

How do you create change logs for your projects? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 3 years ago.
Improve this question
I am using subversion as an RCS and Bugzilla for issue tracking. And i just ask myself how to create automatic change logs for the users?
I already tried the "svn2cl" tool. But the change logs it creates are to technical for me (e.g. no user want's to know that developer XY changed 20 files yesterday to fix a memory leak). A user wants a change log which contains something like this:
Version 1.0- Added feature 1Version 1.1- fixed bug #4711- added feature 2...
Does anybody know a tool, addon or script to create change logs from my bugzilla entries? Or is there an good way to do this?
I know trac supports the creation of change logs, but i don't like trac very much.
Update
Wrote my own little tool for this job. You can get it at ChangelogGenerator.
There is a sourceforge project called Bugzilla Changelog which generate this log as HTML or Wiki - text.
See: Bugzilla Changelog Project
Using a custom tool which logs in a database changes per project, module etc. these changes are then exportable to files using a custom addin for finalbuilder for readme production, or exportable to a webservice which imports them into a local db for the webserver so users can view/search online what's changed per module.
i think you can have Bugzilla generate it for you.
Use the Advanced Bug Search screen, filter on the milestone / version, on the status and resolution.
Then you can export it as CSV format and work on it in Excel
Excel? :)
I'm assuming for each version you first create a list of features to implement, changes to make, bugs to fix etc. Somewhere the status of these must be tracked so you know what is complete, what has been pushed to a later version and so on, and when it's time to test and ship.
This information in your tracking document pretty much contains everything you need.

Change Management [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
I am currently working on company which has several products with the same release cycle.
The problem that i got is i will need to create release file which include all files released and what the change for. And there are number of occasions where clients pullback from the change close to the release date.
The difficulty that i got is every time i create the release file, i have to got through all changed file and determine what the change is for and rollback the change if the client decide to pullback.
Do anyone know better solutions for change management that i can offer to management?
Thank you very much
Ps. I try to look at scrum already but i am not sure that it able to address my difficulty.
Version Control
Having a version control system is good, bug using it effectively is better. There are several ways to branch and merge effectively, two that might work for you are "per-feature" and "per-client".
Per Feature
In this setup, you create a copy of the main code (the trunk) for each new feature that you implement. Once the feature is complete, merge it back into the trunk. If you update the trunk before the feature is complete, or you complete a different feature, it is possible to merge those changes from the trunk into all of the branches.
Per Client
Same as per-feature, but each client gets their own branch, so that a feature rolled back for one is not removed from another. To combine the two, you might structure your repository like this:
Repos
+---Core
| +---branches
| +---tags
| \---trunk
+---Client1
| +---branches
| +---tags
| \---trunk
\---Client2
+---branches
+---tags
\---trunk
Project Managemet
Now, to address your actual question. I can't really say much about this from experience, but I am planning to add Trac to my project soon, because it looks simple to use, and it's free. You can see from their site how Trac's developers use their own application to set milestones and organize issues. If you want to look into more possibilities, then Wikipedia has a few lists.
You're probably best using a source code repository such as Git, Subversion, Mercurial etc.
Which one to use depends heavily on your needs and platform, however you're probably new to SCM tools so I'd recomment subversion with TortoisSVN.
There is a solution to your problem using ]project-open[, but it's not an easy one:
]po[ includes a ticket tracker that you can use for tracking your customer's change requests.
After implementing a change request, you need to include the #ticket_id in your commit comments, so that ]po[ can associate commits with change tickets. You need to have the ]po[ package intranet-cvs-integration installed and configured correctly for this purpose. The package name includes "CVS", but it can also integrates with SVN and GIT.
Finally, you have to create a script that applies the commits selectively to your code baseline, depending on the status of each change ticket.
This way you can automatically produce your release files, depending on the status of your change tickets.

How do I make TortoiseSVN ignore empty directories that have been removed from the repo? [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 14 years ago.
Improve this question
I've got some directories that have been moved or renamed. The Linux command line SVN client ignores these directories. The TortoiseSVN plugin for Explorer shows them. If I delete them and update, they come back.
All of the file movement and deletion has been done using the Linux SVN CLI tools. When doing an 'svn update' or even a fresh 'svn co' on a Linux system, these empty directories are not shown.
When doing a fresh checkout using TortoiseSVN, the empty directories are created, even though they don't exist in the HEAD revision anymore.
How can I make them go away?
Sounds like a client problem. Unless I'm misreading you, your SVN manipulations were correctly done.
Several options:
your client is set to get the wrong revision
you client is somehow running into a cache of some sort (are you running SVN over port 80?)
someone has something fancy set up on the server like 2 repos mirroring each other but badly.
Only the first one seems likely to me. What I'd do is figure out what URL the linux side is using and do a fresh checkout on the Windows side with that to a new location and specifically check to make sure the revision is set to head. If that doesn't work, I don't known what the issue could be. If it does, it limits the problems a lot.
p.s., just had a thought, failing the above try a revert to the head revision. I don't think it will work but...
I ended up deleting the directories in the Windows working copy and now the directories are gone. No idea why that was necessary.
Closing question...

Resources