I have database project stored in TFS and the issue is that when two people works on the same database they overwrite changes to each other's when they deploy their not checked in versions. For example:
Initial code:
code1: xxxxx
code2: xxxxx
code1: xxxxx \_ developer 1
code2: yyyyy /
code1: zzzzz \_ developer 2
code2: xxxxx /
When developer 1 deploys code 1 he overwrites changes deployed by developer 2.
Solution for that would be a configuration which creates deployment script without files that are checked out by others.
Related
Our .NET framework builds started failing after upgrading to VS2022 17.1.1 on Windows 10 (previously 17.0.6)
C:\Program Files\dotnet\sdk\6.0.201\NuGet.targets(130,5): error : Password decryption is not supported on .NET Core for this platform. The following feed uses an encrypted password: '<our repository>'. You can use a clear text password as a workaround.
The error is nuget password related yet we can run nuget restore commands fine.
It fails against our self hosted nuget repository that is password protected even though all our packages are already restored.
The fix is to remove and re-add the nuget repository with a clear text password
dotnet nuget remove source <repository-name>
dotnet nuget add source "https://<repository-url>/nuget" --name "<repository-name>" --password iloveponies --store-password-in-clear-text --username mylittlepony
I met the same error, but the most inner exception in the stack trace was: Windows Data Protection API (DPAPI) is not supported on this platform.
And due to update to new version, for me it looks like known issue: https://github.com/dotnet/sdk/issues/23498#issuecomment-1046937978
I want to use liquibase to automate database deployments. Our setup is tnsnames.ora file is located on a shared drive \\shared\drive\path\tnsnames.ora
As per docs from liquibase, liquibase.properties files should look something like as below.
--driver=oracle.jdbc.OracleDriver
--classpath=ojdbc14.jar
--url="jdbc:oracle:thin:#<IP OR HOSTNAME>:<PORT>/<SERVICE NAME OR SID>"
--changeLogFile=db.changelog-1.0.xml
--username=<USERNAME>
--password=<PASSWORD>
Is there any way by which we can just specify <SERVICE NAME OR SID> which get the matching SERVICE NAME from tnsname.ora file located on the network share and connect to the required database ?
Have you tried using Liquibase built into SQLcl? SQLcl version 20.4 has Liquibase version 4.1.1 embedded within it so you can connect to the database using the same syntax that you would use for SQLPlus, then run your Liquibase commands from there.
C:\Users\ej>sql scott/tiger#tnsalias
SQLcl: Release 20.4 Production on Fri Mar 05 11:07:13 2021
Copyright (c) 1982, 2021, Oracle. All rights reserved.
Last Successful login time: Fri Mar 05 2021 11:07:14 -05:00
Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.6.0.0.0
SQL> lb version
Liquibase version: 4.1.1
Extension Version: 20.4.1.0
SQL> lb help
usage: lb COMMAND ...
Commands:
The following commands are available within the liquibase feature.
lb help COMMAND for command specific help
COMMAND
genobject Generate change log for a specific database object
genschema Generate changelogs and controller for connected schema
data Generate changelog for the data in tables
gencontrolfile Generate a blank controller.xml as a sample
update Updates database to current version
updatesql Generates SQL to update database to current version
rollback Rolls back the state requested
rollbacksql Writes SQL to roll back the database to the state requested
diff Writes description of differences between two databases to standard out.
dbdoc Generates Javadoc-like documentation based on current database and change log.
changelogsync Mark all changes as executed in the database.
clearchecksums Removes current checksums from database. On next update changesets that have already been
deployed will have their checksums recomputed, and changesets that have not been deployed will
be deployed.
listlocks Lists who currently has locks on the database changelog.
releaselocks Releases all locks on the database changelog.
status Outputs list of unrun change sets.
validate Checks the changelog for errors.
version Display product version information
All of a sudden, with no change to the Xcode build server, I started getting an error, even across different bots, branches, and apps (all are Mac apps). I didn't change any software or configuration on the build server (that I know of), or even sign into it. I get the error once during analysis:
Check dependencies
Code Sign error: Multiple matching codesigning identities found: Multiple codesigning identities (i.e. certificate and private key pairs) matching “Mac Developer: OS X Server (N________L)” were found.
And again during Testing (though my tests pass – the one above is what fails the build):
Testing failed:
Multiple matching codesigning identities found: Multiple codesigning identities (i.e. certificate and private key pairs) matching “Mac Developer: OS X Server (N________L)” were found.
I have tried the following, triggering a build after each step, with no change in the message:
Triggered another build
Updated to the latest Xcode on the build server (6.3.2)
Searched through Keychain Access for any "OS X Server" certificates or keys, finding none
Removed all Developer Teams from Server.app. Note: this acted weird. I had to remove it twice before the setting read "No Teams", but now it's stayed that way
I signed in to add my team again
Removed it again, which still had to be done twice before it "stuck"
Restarted the machine, multiple times
Removed all provisioning profiles from /Library/Developer/XcodeServer/ProvisioningProfiles
Signed in with my developer account again after removing the provisioning profiles. They have been recreated, but the error remains
I turned off "Perform analyze action" in the bot, which did get rid of the message, but turning it back on, or turning on "Perform archive action", reintroduce it, so that's not an option (also, I want static analysis performed, which is why it's turned on in the first place).
Assuming for the moment that Xcode Server's list of signing identities is corrupted, how would I go about resetting them, outside of Server.app (since I already removed the Development Team there)? I found a couple of directories that seem like candidates for some troubleshooting and/or backup restoration, but I'm hesitant to mess around without knowing for sure what they're for.
/Library/Developer/XcodeServer/Certificates
/Library/Developer/XcodeServer/Keychains
I noticed that my provisioning profiles all expire on May 20, 2016. This means my old ones expired two days ago (5/20/2015), which was between my last successful (5/19) and first failed (5/21) builds.
So now, knowing the source of these failures, the problem now becomes: how do I clear out the old provisioning profiles (or certificates, etc.) that are causing the duplicates?
The server is up-to-date on Yosemite (10.10.3), Server (4.1), and Xcode (6.3.2).
Update
I'm trying to list codesigning identities, but can't get even a single "Mac Developer: OS X Server" to show up, let alone multiples. These are the commands I've tried, which only list the non-Server identities in the keychain:
security find-identity -p codesigning
sudo -u _xcsbuildd security find-identity -p codesigning
sudo -u _xcsd security find-identity -p codesigning
It looks like a bug in Server did in fact introduce a duplicate signing identity. I reported it as rdar://21080937, if you'd like to dupe it.
In order to fix it, I had to learn about how Xcode Server stores signing identities (thanks entirely to an extremely helpful answer to an unrelated question).
Xcode Server stores Developer Program certificates in
/Library/Developer/XcodeServer/Keychains/Portal.keychain
Following the steps below, I was able to open the keychain, find the duplicate, remove it, and put it back. These steps are adapted from the answer linked above.
Sign out of the Developer Portal from Server.app by removing the developer team you're having issues with
Copy the Portal keychain to your desktop:
> sudo cp /Library/Developer/XcodeServer/Keychains/Portal.keychain ~/Desktop/
Password: your-administrator-password
> sudo chown `whoami`:staff ~/Desktop/Portal.keychain
Set the Portal keychain password to “123”
> security set-keychain-password -o "`sudo cat /Library/Developer/XcodeServer/SharedSecrets/PortalKeychainSharedSecret`" ~/Desktop/Portal.keychain
New Password: 123
Retype New Password: 123
Open the Keychain in Keychain Access:
> open -b com.apple.keychainaccess ~/Desktop/Portal.keychain
Unlock the “Portal” keychain using password “123”
Find the duplicate keys with the name listed in the error
Remove one (I picked the one modified less recently, but it may not matter)
Lock the “Portal” keychain, quit “Keychain Access”
Reset the Portal keychain password:
> security set-keychain-password -p "`sudo cat /Library/Developer/XcodeServer/SharedSecrets/PortalKeychainSharedSecret`" ~/Desktop/Portal.keychain
Password: your-administrator-password (optional step)
Old Password: 123
It may or may not ask you for your administrator password again, pay attention to the prompt.
Backup the original keychain
> sudo cp /Library/Developer/XcodeServer/Keychains/Portal.keychain /Library/Developer/XcodeServer/Keychains/Portal.keychain.old
Copy the Portal keychain back
> sudo cp ~/Desktop/Portal.keychain /Library/Developer/XcodeServer/Keychains/
Fix the new keychain's permissions
> sudo chown _xcsbuildd:_xcs /Library/Developer/XcodeServer/Keychains/Portal.keychain
Since the system caches open keychains, restart the server
Add your developer team back, in Server.app
Run a build, verifying everything looks good. If so, remove the backup copies of the keychain
> rm ~/Desktop/Portal.keychain
> sudo rm /Library/Developer/XcodeServer/Keychains/Portal.keychain.old
I am using VisualSVN Server 3.0.1 and TortoiseSVN 1.8. Using VisualSVN Server Manager, I made a repository called "lottery" in my C:\ drive. I started all the VisualSVN Server's services on the machine. I checked VisualSVN Server's HTTP service is running and VDFS service is running. I also made two users harry and sally with password 1234 using VisualSVN Server Manager. I made a directory C:\workdirs. In that, there are two folders harry and sally for my users. When I navigate into harry's folder and run my svn command, I get an error. Please help me to resolve it.
C:\workdirs\harry>svn co --username harry --password 1234 https://james/svn/lottery/
That url is copy pasted exactly from VisualSVN Server Manager. I get the error -
C:\workdirs\harry>svn co --username harry --password 1234 https://james/svn/lottery/
svn: E731001: Unable to connect to a repository at URL 'https://james/svn/lottery'
svn: E731001: No such host is known.
Solutions I tried -
Tortoise won't connect to subversion server
Apparently, you can’t go straight to the SVN folder you need to
include a repository file name in the path.
So, I tried to use the url with port and the repo folder name to see if it helps svn co --username harry --password 1234 https://james:443/svn/lottery/ Btw, james is the name of the svn server i saw in the visual svn server properties.
The resulting error is -
svn: E731004: Unable to connect to a repository at URL
'https://james/svn/lottery'
svn: E731004: The requested name is valid, but no data
of the requested type was found.
Next, I tried to use http instead of https and got the same error.
Next, I tried to use the url like this https://localhost/james:443/svn/lottery/
I got the error -
Error validating server certificate for 'https://localhost:443':
- The certificate is not issued by a trusted authority. Use the
fingerprint to validate the certificate manually!
- The certificate hostname does not match.
Certificate information:
- Hostname: steam
- Valid: from sometime in 2014 GMT until sometime in 2020 GMT
- Issuer:
- Fingerprint: 6a:7b:8c:....
(R)eject, accept (t)emporarily or accept (p)ermanently? p
svn: E175013: Unable to connect to a repository at URL
'https://localhost/james:443/svn/lottery'
svn: E175013: Access to '/james:443/svn/lottery' forbidden
Finally, I thought of using my computer's IP address as mentioned in the link I gave. I don't know what the IP is, but I tried using localhost instead and it worked !!!
C:\workdirs\harry>svn co --username
harry --password 1234 https://localhost/svn/lottery/
Checked out revision 0.
This worked for me -
svn co --username harry --password 1234 https://localhost/svn/lottery/
I did not have to add a port number after localhost. It works, but I don't know what happened. Btw, make sure that your Visual SVN windows services are running before you run this command.
Your local DNS is unaware about that "james" hostname represents your computer therefore you get the No such host is known error. If you work with VisualSVN Server alone, you could add a reference that "james" is your computer's name to your hosts file.
Otherwise, contact your network administrator and ask about what is your computer's hostname on your LAN.
Go to your project folder Right Click go to your tortiseSvn --> Relocate --> change your svn repository url
I am having to move databases from one server to another.
Oracle on Server A has died so I can't back up the existing databases in order to move them across.
I was wondering if there is another way to move databases across servers in Oracle.
There is a way of coping some data and control files and installing them in a new server.
See: User-Managed Backup and Recovery Guide
http://download.oracle.com/docs/cd/B10501_01/server.920/a96572/toc.htm
( but look for the correct version of your database)
For example something like:
% cp /disk1/oracle/dbs/*.dbf /disk2/backup
% cp /disk1/oracle/dbs/*.cf /disk2/backup
% cp /disk1/oracle/network/admin/*.ora /disk2/backup
% cp /disk1/oracle/rdbms/admin/*.ora /disk2/backup
If the old database shut down relatively cleanly you should be able to just copy the db files over to the new host. "db files" includes datafiles, tempfiles, control files, and online redo logs (off the top of my head). If you can make the directory structures on the new host the same as the old ones, you should then just be able to source the correct environment (including ORACLE_SID) and then issue a startup from SQL*Plus. You use the phrase "Oracle service" in your answer to my question, so I'm guessing you are on Windows - I don't know how you go about re-registering it as a Windows service.
If the servers are the same os then yes. You can create the same directory structure on the new server as the old. Install the oracle software and patch it to the same version as on the old window server. Copy all the datafiles, control files, spfile , etc to their respective location on the new server. Using the account you install oracle which has administrator privelege and belonging to the dba group, run oradim to add the service to windows to start oracle, point it to the spfile of your database.
ORADIMxx -NEW -SID -INTPWD -STARTMODE
-PFILE
or with newer database version:
ORADIM -NEW -SID | -ASMSID [-SYSPWD password]
[-STARTMODE auto | manual] [-SRVCSTART system | demand]
[-PFILE filename | -SPFILE]