I am using octopus deploy to push my website into environments
the code gets to the server but octopus doesn't change the web application to point to the new directory.
e.g.
MVC4WebSite is a web application mapped to the C:\Sites\dev\MVC4WebSite\1.0.0.0
I deploy my package
the new code appears at C:\Sites\dev\MVC4WebSite\1.0.0.1
I expect that MVC4WebSite would be mapped to the C:\Sites\dev\MVC4WebSite\1.0.0.1 but it is still mapped to C:\Sites\dev\MVC4WebSite\1.0.0.0
I get this message in the logs.
'Could not find an IIS website or virtual directory named 'MVC4WebSite' on the local machine. If you expected Octopus to update this for you, you should create the site and/or virtual directory manually. Otherwise you can ignore this message.'
I have definitely created that site (as a web application).
Specs
Win Server 2008 r2
IIS7
Octopus Version 1.0.30.1340
Ok it looks like I didn't interpret the instructions properly.
I interpreted the term site as being any code deployed as a Virtual Directory or a Web Application...what they mean, correctly, is the actual site eg. "Default Web Site"
I needed to define a custom variable to override the OctopusWebSiteName pre-defined variable with the value "Default Web Site/MVC4WebSite".
What a waste of an afternoon :(
Related
I want to host my ASP.Net Web api project on IIS for local development. I have an angular UI that wants to access this API. So for this reason I don't want to run my ASP.Net project all the time, if it were running on IIS would be better. I read many articles but none of them seemed to resolve my problem.
I know how to publish my project and then host the published version of the current build but what I don't want to do is having to do a publish every time I build just to test my code.
If I am not mistaken there is an option for deploying a new version of my project with every build. Again I don't want it to be production ready, I only need it for local development to test my API.
When I was using the publish > host currently published version on IIS the application was running.
When I was configuring IIS to point to the application folder where the solution is found as well (that is what I saw in an article about configuring IIS) I got: "HTTP Error 404.0 - Not Found
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."
The solution is:
Go to IIS Manager in windows
On the left hand side of the panel, right-click -> add new website
Add a Site name that you like
Set up a Physical path, that should point to your project folder (so not where your solution is but where your ASP.Net project is)
Add a unique port that number that you make sure you are not currently using
Add a host name, and register it in the C:\Windows\System32\drivers\etc\hosts file with your local ip address
I have written an ASP.NET MVC 5 application in Visual Studio 2012, and I am now attempting to run it on IIS 7.5. Following a tutorial, within IIS Manager I have created a virtual directory, whose physical address is the address on my computer of the web application. That seems to work fine.
However, the tutorial also says that an alternative way to create this virtual directory is from within Visual Studio. Again following the tutorial, under the project Properties->Web, I select Use Local IIS Web server, and then type in http://localhost:8010/MyWebApp as the Project Url. Then, after clicking the Create Virtual Directory button, I receive the message The virtual directory was created successfully.
However, I notice that this virtual directory does not appear in fact appear in IIS Manager, even after refreshing or restarting. What am I doing wrong? (Note that Use IIS Express is checked, if that makes any difference.)
Using IIS express is the issue, the IIS manager is for the inbuilt IIS instead.
If you untick that use IIS express box, it will remove the port number and you will create a virtual directory under the main IIS installed.
http://localhost/MyWebApp
Note that VS must be run as an administrator for it to be able to access the IIS metabase, otherwise your web app project will fail to load.
If you are running on a base install, you may also need to install some extra features into IIS to get it working properly.
I've never actually used IIS, and I'm pretty new to the whole ASP.net thing too.
Basically, I've created a RESTful service using a VS2010 ASP.net project.
I'm not sure how you get that ASP.net application (which runs great on Visual Studio) to run on an IIS server.
It's pretty easy with a Java dynamic web project and Tomcat, but here I'm not sure how to begin.
Do I simply deploy the binaries to a directory?
Thanks!
ther are some possibilities
the easy one
create under c:\inetpub\wwwroot\ a new directory for your app
in the iis manager, configure this directory (create an application, set the right .net version, ... ). than everything you need is to copy all your files into that directory and thats it.
but you can also create a msi file, if you don't have the direct access to the server.
hth
For best testing you application use IIS 7.5 express on you development machine and set this:
project->Properties->Web->Use Local IIS Web Server
After testing under local IIS you can deploy you project to real IIS by using Build->Publish 'Your project'
Simplest way is deploying to File System in some folder and copy its content to created site folder, associated with IIS Virtual directory. To create Sites and virtual directories, see this:
http://www.bloggingdeveloper.com/post/Creating-IIS7-sites-applications-and-virtual-directories-using-Internet-Information-Services-Manager.aspx
http://mvolo.com/blogs/serverside/archive/2007/07/12/Creating-IIS7-sites_2C00_-applications_2C00_-and-virtual-directories.aspx
I have built an ASP.NET MVC 3 web application (with exlusively Razor/cshtml pages) that runs fine on my local machine with IIS Express. Now I'm trying to publish it to a remote server that is running Windows Server 2003 and IIS 6 and has just been upgraded to .NET Framework 4.0.
I was able to successfully publish all the files to the proper directory on the remote server using Visual Studio 2010's Publish dialog (Publish method: FTP), and I've followed the instructions for including all the DLLs needed to run ASP.NET MVC on a machine that doesn't have it installed, but now I'm pretty much stuck.
The first issue is that I don't have access to the remote server's IIS. I may be able to get the hosting company to add a virtual directory or change a setting, but I'm not sure they know what they're doing, and at the moment, I wouldn't know what to tell them anyway.
The second issue is that I need my web app to live inside an existing site (the web app is basically a protected members area of the main website). So, pretend the main site is http://www.foobar.com. I'd like my web app to be accessed by entering the URL http://www.foobar.com/members.
Questions
Is it possible to publish my web app without access to the remote server's IIS?
If not, what exactly do I need to tell the hosting company to add or change in IIS?
Do the settings under the Web tab of project properties affect publishing or just local debugging? At the moment, I have it set to use IIS Express, and the Project URL is "http://localhost:7373/". Do I need to change these?
Given that the remote server is running Windows Server 2003 and IIS 6.0, is it possible to use Web Deploy or am I limited to FTP?
If I can use Web Deploy, what do I put for the Service URL? All I have right now is a URL in the format of ftp://www.foobar.com/www and a username and password.
If I need to use FTP, what steps do I need to take to get the app working once the necessary files have been uploaded to ftp://www.foobar.com/www/members? I'm not worried about database, security certificates, registry, GAC, etc., I just want to know the steps necessary to get the home page of my web app to come up when I put http://www.foobar.com/members.
Have you had a look at this article by Scott Hanselman?
In addition to that article, please read the following thread on StackOverflow on pretty much the same environment as yourself.
Edit
Your first step should be to get the hosting company to set up the virtual directory with the following parameters (IIS 6):
ASP.NET Version: 4.0.30319 (or later)
Local Path: [root ftp path for main website]\Members
[ ] Script source access (unchecked)
[x] Read (checked)
[ ] Write (unchecked)
[ ] Directory browsing (unchecked)
[x] Log Visits (checked)
[x] Index this resource (checked)
Application Name: Members
Execute Permissions: Scripts only
Application Pool: ASP.NET 2.0
How do I setup the project on the network instead of localhost? I want to setup a Remote Site, I think is the lingo
Go into visual studio
File, open website and put the website name in the box and a password to open the source.
Create a unique url name like myWebApp.mycompany.com
When I create a new website application in visual studio. When I am ready to debug Visual Studio sets all this up for me and it runs on local host automatically.
I guess in my scenario I gotta set it up manually. How do I accomplish this?
I created a new virtual directory, went through the permissions wizard and keep getting this error:
Failed to access IIS metabase.
If you are trying to deploy somewhere you can access via a windows share, it is often easier to just deploy to disk by publishing to the file system and setup the IIS bits manually. In that case, you'll need the name of the server and a share to push to.
Setting the url will be configured in IIS where you host the web app. When you are debugging in visual studio it is running a copy of the web app locally so you can test it. You shouldn't be trying to host the web app within the visual studio debugger.
To configure this you will need to set the host header for the website to myWebApp.mycompany.com. This will tell IIS that incoming requests with this domain map to this website.