Using Heroku with Cyrillic user folder in Windows - heroku

This is quite specific problem: developer's machine with Win 7 Ulttimate has cyrillic user folder name, which cannot be changed due to the plenty of another programs rely on this path.
Need to deploy php-app on Heroku.
Using the Heroku toolbeit on this computer, I found while "heroku create" the follow error - "...no such file or directory open...".
By the simple experiment, I found that problem is in cyrillic name of user folder. Undeк another user's account is OK. So, question - is there any case to tune the Heroku fot correct work with such cyrilic enviroment ?

A fix for cyrillic characters in usernames has been pushed to https://toolbelt.heroku.com/ specifically for this problem. Please run the installer again and retry the heroku create command. It should work starting with heroku/toolbelt/3.42.25 (version information is available from heroku version)

Related

CapRover app fails to find docker files path when deploying through Windows

I am not very familiar with CapRover, but my company uses it to deploy local branches to staging server. I completed a task in a ruby and rails project and tried to deploy my branch using the caprover deploy command.
The build passes, but the deployed app webpage goes to error 502. In the App Logs, it prints repeatedly that it could not find docker-entrypoint.sh: /bin/sh: 1: docker-entrypoint.sh: not found
Now, I use Windows and my colleagues use Linux. They tried to replicate the deploy on their machines and it is passing normally. That's why the suspicions falls on Windows causing it with some characters incompatibility, like slashes or quotations marks... I don't know how can I try to correct this issue without modifying the project files that they are already using and risk causing some problems where it is working...
I am not sure if I provided enough information for someone to try to help me fix this issue? I will gladly try to provide more infos if required
Thanks

Failing to deploy a Course Builder on Google App Engine

I am really not sure what I am doing. I have no idea what is coding , and I never used the terminal on my Mac. I am trying to set up a Course Builder on Google App Engine, and the instructions are telling to to follow these steps:
Deploy from Mac and Linux:
Open a command prompt and get to your coursebuilder directory. Type the following command:
bash ./scripts/deploy.sh <your_project_id>
If your deployment was successful, you can visit your new site.
That is what I am getting:
elena$ bash ./scripts/deploy.sh on-point-learning
bash: ./scripts/deploy.sh: No such file or directory
I am completely lost, is there anyone who can help me? And please in English, I speak no Computer, even using the Terminal makes my hands sweaty and my heartbeat unstable.
p.s.: I do apologize and maybe this questions was answered before but I understand nothing in the questions/answers I read.
First, you need to have downloaded and installed the Google App Engine SDK. Follow all the steps documented by Google here. You need to follow all the steps so that all the files are installed/copied and the necessary shortcuts created
Your course builder will be in a folder (directory)
a) Open command line and change directory to your project folder i.e. something like cd <path_to_project_folder>
b) Type gcloud app deploy
Note: Google's documentation says - Use the install script to add Cloud SDK tools to your PATH. You need to make sure you do that so that typing commands in your command line will work
If you do not want to tinker with your command line or you want to make things very very simple, then you can try using a GUI, for example our App, NoCommandLine
a) Select File > Add Existing Application
b) Navigate to your Course Builder Folder and select the file named app.yaml
c) Select your programming language and the framework (if neccessary), click on Add.
d) To run your project (on your local machine) or deploy it to Production, you just select it from the UI, and click the run or deploy icon.

How to properly set up the jenkins environment

I have a fresh build server and need to setup jenkins there. So I created a first user on the Mac mini, and used that user to install Jenkins on the machine.
Jenkins then created another user (Jenkins) on the Mac Mini.
I thought that correct way to proceed is to login as that Jenkins user (with Admin rights) and prepare the build environment as this Jenkins user.
But I cant install Visual Studio for MAC, cant install SourceTree... bcs even though Jenkins has Admin rights, I am getting
"You do not have permissions to open the application 'Install Visual
Studio for Mac' contact your administrator..." message.
But as I said the Jenkins user is Admin user. So am I doing it wrong? What user should prepare all the build tools? And if it is supposed to be the first user I created (after booting the Mac mini for the 1st time), how do I let Jenkins use the apps then? When I tried doing this on my macbook, jenkins couldnt use some of the build tools, bcs apparently it did not have the permissions to do so.
So what is the correct way to set up a jenkins environment, so I can install whatever tools I need, and Jenkins can use these during builds/deploys?
Any help appreciated, all the guides about jenkins speak of jenkins user, but none gave me an idea what is the best way to set this all up.
My 2 cents.
I have not worked with MAC. So some of my assumptions may be wrong or suggestions may be not applicable to you.
I have set up Jenkins mostly on Linux and a couple of times on Windows. I used to install Jenkins using the RPM package which, upon installation, will create a 'jenkins' user and group.
For start/stop/restart, I always use 'sudo' since Jenkins is installed as a service.
Other build related tools like Java, Maven etc, I always make sure that Jenkins can access them and execute them. ie, I give execute privilege on those tools.
The JENKINS_HOME directory, I used to create a symbolic link from the default home directory to a file system with enough storage. I will do the same for Jenkins log file.
The benefit of having those Jenkins/tool files/directories as part of a custom defined directory structure is that I do not need to remember installation paths of each tool. ie, I have my Jenkins, maven, java, sonarQube everything under a directory I know. Even if I set up these tools in different servers, I will stick to the same directory structure.
My suggestions to you.
Setup build tools which are to be used/accessed from Jenkins, set them up with your 'first user' and give execute privilege to Jenkins user/group.
Create a directory 'ci' and link or place all tools inside. You can further have subdirectories for app - for binaries/installed files, data - for generated data like Jenkins_home, log - to keep log files of these tools.
ci/jenkins
ci/sourcetree
ci/apache-maven
Suggestion 2 is initially time-consuming but it will save a lot of your time as you use the tools on a daily basis.

Playframework 2 messages file ignored when deploying to heroku

I am trying to deploy a playframework-based app (play 2). When I run it locally, all is well. When I deploy to heroku, instead of reading the message from the message file, the app just spits out the message name. eg: this code:
#Message("app.title")
results in
app.title
rather than the value in the conf/messages file. Locally, it works fine.
Note that I'm not internationalizing my site, just using the default messages file in order to separate text from code (and maybe internationalize some day :)
The issue was that I had named my file "Messages", which was fine on Mac OS X (case-preserving but not case-sensitive file system), but not okay on Heroku. I realized this pretty quickly and fixed it, but unfortunately, git did not see the fix. I had to delete, commit, re-add and recommit. I suspect a name-change (not just case-change) would have been adequate as well.
Thanks to James Ward (who really answered this question) for the suggestion.

Path too long error when building a windows azure service

I have been trying to publish my service to windows azure. The service consists of a single webRole, however I have added remote login functionality published it and built it a few times, and now all the sudden it will not build. The reason it gives is that
Details below:
"Error 56 The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. C:\Program Files (x86)\MSBuild\Microsoft\Cloud Service\1.0\Visual Studio 10.0\Microsoft.CloudService.targets 202 5 FileSystemCreator"
I have gone on all the forums, I have used CSPack command line for packaging the service which is fine but I'm having a really hard time configuring the certificate for remote desktop connect and I would like to take advantage of this feature as I am creating some websites in the onStart event and I would like to peek into IIS. Some microsoft employees do agree that this is a bug and the have promised a fix this issue, refer to post . I am using VS2010 and I do not know how to fix this bug.
Can anyone please help, or point me to a place where I can get any help.
I ran into the same problem with a new solution.
Note that, unlike Eugenio Pace's response suggests, the error occurs only when deploying to Azure (and not when running the project in the Azure Compute Emulator).
Try adding the following line to the first property group of your Windows Azure Visual Studio Project file (*.ccproj):
<ServiceOutputDirectory>C:\Azure\</ServiceOutputDirectory>
The trailing slash (for whatever path you select) appears to be required. This folder will be deleted each time you create a package if it exists.
This setting seems to redirect the working folder for the package to a shorter base path, preventing the path too long error.
Credit goes to: http://govada.blogspot.com/2011/12/windows-azure-package-build-error.html
Perhaps the local folder used to store temporary development fabric is too long. See Windows Azure - Resolving "The Path is too long after being fully qualified" Error Message.
I was having this problem as well when deploying a Node.js project to Azure.
To fix it, I had to change my "TEMP" and "TMP" user environment variables to something shorter than their default values.
In my case, they were pointing by default to %USERPROFILE%\AppData\Local\Temp, changing them to C:\Temp solved it.
Make sure you restart Windows after.
The better solution may be to create a symbolic link to your project folder. This doesn't require moving files or changing system variables. Open up the command prompt as an administrator and run this:
mklink /D C:\Dev C:\Users\danzo\Source\Workspaces
Obviously you can change "C:\Dev" to whatever you want it to be and you'll need to change the longer path above to the root directory of your soltions/projects folder.
Same problem happened to me when I try Packaging an Umbraco project for Azure (https://github.com/WindowsAzure-Accelerators/wa-accelerator-umbraco/wiki/Deployment), I found the solution is to: Copy and rename the long-name path and folder to "C:\someshortname".
(solution was suggested by this: link)
I tried all the above 2 approaches:
-change TEMP and TMP enviromental variables
-<ServiceOutputDirectory> path
and didn't work.
In my case, I had to move the whole project to a shorter path C:\ and worked.
I'm using W7 and VS12.
When you run a cloud service on the development fabric, the development fabric uses a temporary folder to store a number of files including local storage locations, cached binaries, configuration, diagnostics information and cached compiled web site content.
By default this location is: C:\Users\\AppData\Local\dftmp
Credit goes to Jim Nakashima of Microsoft :
https://blogs.msdn.microsoft.com/jnak/2010/01/14/windows-azure-resolving-the-path-is-too-long-after-being-fully-qualified-error-message/
In order to change the temporary folder, a user environment variable has to be created :
It is named _CSRUN_STATE_DIRECTORY
Give it a value of short named directory like :
c:\AzureTemp
Don't forget to restart Visual Studio in order to have the environmennt variables to be read again
It fixed many compilations problem !

Resources